每个人。我选择一种使用emit(streamId,tuple)
的方法,但我不知道在哪里定义我的流媒体?
在blot_odd/blot_even中,
declareOutputFields(){declarer.declareStream("streamId", new Fields("fieldName"));}
和MyTopology.java
的main
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");