标签:rand toc exti BMI debug href clear state figure
安装指定filed的key进行hash处理,
相同的field,一定进入到同一bolt.
该分组容易产生数据倾斜问题,通过使用二次聚合避免此类问题。
使用二次聚合避免倾斜。
App入口类
1 | public class { |
聚合bolt
1 | /** |
使用广播分组。
1 | builder.setBolt("split-bolt", new SplitBolt(),2).allGrouping("wcspout").setNumTasks(2); |
只发送给指定的一个bolt.
1 | //a.通过emitDirect()方法发送元组 |
1 | //b.指定directGrouping方式。 |
对目标target tasked进行排序,选择最小的taskId号进行发送tuple
类似于direct,可以是特殊的direct分组。
自定义CustomStreamGrouping类
1 | /** |
设置分组策略
1 | public class { |
WordCountSpout:通过回调函数
1 | public class WordCountSpout implements IRichSpout{ |
SplitBolt:
1 | public class SplitBolt implements IRichBolt { |
App:
1 | public class { |
测试结果:
Storm的分组策略和确保消息送达机制 · 十年饮冰,难凉热血
标签:rand toc exti BMI debug href clear state figure
原文地址:https://www.cnblogs.com/lijianming180/p/12410167.html