Storm目前有八种分组策略
官网链接
1.Shuffle Grouping
随机分组,我们使用代码测试一下
我们使用之前的求和案例进行修改
只需要在Bolt的execute代码中打印一下线程id
//num是接收过来的数据
System.out.println("Thread id = "+Thread.currentThread().getId() + " , rece date is" + num);
然后修改一下mian方法setBolt函数第三个参数为3(设置3个task)
builder.setBolt("SubBolt",new SubBolt(),3).shuffleGrouping("DataSourceSpout");
运行查看控制台
可见随机分配给了不同的线程
2.Field Grouping
字段分组:按分组中指定的字段对流进行分区
还是求和案例,我们这次在发送数据时发送两个数据,要修改nextTuple和declareOutputFields