随机分组(Shuffle Grouping)是最常用的流分组方式,它随机地分发元组到Bolt上的任务,这样能保证每个任务得到相同数量的元组。将流分组定义为混排。这种混排分组意味着来自Spout的输入将混排,或随机分发给此Bolt中的任务。shuffle grouping对各个task的tuple分配的比较均匀。
![](https://i-blog.csdnimg.cn/blog_migrate/23f5a9122c08eda05ef6103fc81e3e34.png)
随机分组执行原子操作,这是非常有用的,例如数学运算。但是,如果操作不能被随机分发的话,应该考虑使用其他的分组方式,例如,在单词统计(WordCount)例子中,需要计算单词,就不适合使用随机分组。
使用PrintWriterToplogy 示例
PrintBot 4个并行度,不同线程Executor处理Print 任务
![](https://i-blog.csdnimg.cn/blog_migrate/025da12a0d4d200056c3ad8eedc98d44.png)