Stream分组,即消息的分区(partition)方法。Storm中提供若干种实用的分组方式,包括Shuffle、Fields、All、Global、None、Direct和Local or shuffle等。
除了在Storm中内置的7中分组方式,也可以通过实现CustomStreamGrouping接口来定义自己的分组。
(1)Shuffle分组:Task中的数据随机分配,可以保证同一级Bolt上的每个Task处理的Tuple数量一致。
(2)Fields分组:根据Tuple中的某一个Field或者多个Field的值来划分。比如Stream根据user-id的值来分组,具有相同user-id值的Tuple会被分发到相同的Task中。