Stream 如何在暴风雨中将元组分配到不同的blot
每个人,我想做这个工作——一个喷口发射数字到blotA,一个喷口发射奇数到Blot\u奇数,一个喷口发射偶数到Blot\u偶数。 我选择了一种方法来使用Stream 如何在暴风雨中将元组分配到不同的blot,stream,grouping,apache-storm,Stream,Grouping,Apache Storm,每个人,我想做这个工作——一个喷口发射数字到blotA,一个喷口发射奇数到Blot\u奇数,一个喷口发射偶数到Blot\u偶数。 我选择了一种方法来使用emit(streamId,tuple),但我不知道在哪里定义我的streamId 在Blot_奇数/Blot_偶数中 declareOutputFields(){declarer.declareStream(“streamId”,新字段(“fieldName”);} 在MyTopology.java的main中 main(){ Topolog
emit(streamId,tuple)
,但我不知道在哪里定义我的streamId
在Blot_奇数/Blot_偶数中
declareOutputFields(){declarer.declareStream(“streamId”,新字段(“fieldName”);}
在MyTopology.java的main
中
main(){
TopologyBuilder=新TopologyBuilder();
建筑商设置管道(“num”,新的NumSpout(),10);
builder.setBolt(“判断”,新螺栓(),3)。shufflegroup(“num”);
建造商。立根螺栓(“奇数”,新螺栓(奇数),2)。随机组合(“判断”);
建造商。立根螺栓(“偶数”,新螺栓为偶数(),2)。重新组合(“判断”);
}
但是我失败了。你可以像下面这样做
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");
在螺栓的DeclareOutFields方法中,填写如下详细信息
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");
请提供新螺栓()、新螺栓奇数()和新螺栓偶数()的代码。可能重复