如何在风暴中将元组派遣到不同的印迹



每个人。我选择一种使用emit(streamId,tuple)的方法,但我不知道在哪里定义我的流媒体?

在blot_odd/blot_even中,

declareOutputFields(){declarer.declareStream("streamId", new Fields("fieldName"));}

MyTopology.javamain

main() {
    TopologyBuilder builder = new TopologyBuilder();
    builder.setSpout("num", new NumSpout(), 10);
    builder.setBolt("judge", new Bolt(), 3).shuffleGrouping("num");
    builder.setBolt("odd", new Bolt_odd(), 2).shuffleGrouping("judge");
    builder.setBolt("even", new Bolt_even(), 2).shuffleGrouping("judge");
}

但是我失败了。

您可以在下面喜欢。

在螺栓的dectareOutputfield方法中,填写这样的详细信息。

declarer.declareStream("oddstream", new Fields("fieldName"));
declarer.declareStream("evenstream", new Fields("fieldName"));

您可以像以下那样声明拓扑。

builder.setSpout("num", new NumSpout(), 10);
builder.setBolt("judge", new Bolt(), 3).shuffleGrouping("num");
builder.setBolt("odd", new Bolt_odd(), 2).shuffleGrouping("judge", "oddstream");
builder.setBolt("even", new Bolt_even(), 2).shuffleGrouping("judge", "evenstream");

相关内容

  • 没有找到相关文章

最新更新