Storm流分组源码分析

Storm流分组源码分析_第1张图片
Topology

本文不是停留在字面上去总结Storm的流分组方式,而是列出Storm流分组实现的源码位置,看了源码,对各种流分组也就可以做到知其所以然了。
各种流分组一览,源码位置

org.apache.storm.topology.InputDeclarer

读读这个接口的源码,Storm支持的所有流分组方式瞬间收入囊中。
1.shuffle grouping源码位置

org.apache.storm.grouping.ShuffleGrouping

2.fields grouping源码位置

org.apache.storm.trident.partition.IndexHashGrouping

3.global grouping源码位置

org.apache.storm.trident.partition.GlobalGrouping

4.local or shuffle grouping源码位置

org.apache.storm.grouping.LoadAwareShuffleGrouping

5.none grouping源码位置

org.apache.storm.testing.NGrouping

6.all grouping
源码位置我没找到,不过看了其他流分组方式的源码,这种分组方式的实现也就豁然开朗了。
7.direct grouping源码位置

org.apache.storm.trident.partition.IdentityGrouping

8.partial key grouping源码位置

org.apache.storm.grouping.PartialKeyGrouping

9.custom grouping
自定义分组,实现接口

org.apache.storm.grouping.CustomStreamGrouping

看了其他流分组方式的源码,你会发现所有流分组的实现类都实现了CustomStreamGrouping接口,因此,实现自定义流分组的方法也就一目了然了。

你可能感兴趣的:(Storm流分组源码分析)