1.Storm编程模型
Storm程序本质上是一个Topology(拓扑),如下图所示:
image2.关于Topology的几点说明
- Topology:Storm中运行的一个实时应用程序的名称。
- Spout:在一个Topology中获取源数据流的组件;通常情况下Spout会从外部数据源中读取数据,然后转换为Topology内部的源数据。
- Bolt:接收数据然后执行处理的组件,用户可以在其中执行自己想要的操作。
- Tuple:一次消息传递的基本单元,理解为一组消息就是一个Tuple。
- Stream:表示数据的流向。
- StreamGroup:数据分组策略;
3.常用分组策略
- Shuffle Grouping:随机分组,尽量均匀分布到下游Bolt中。
- Fields Grouping:按字段分组,按数据中Field值进行分组,相同Field值的Tuple会被发送到相同的Task处理。
- All Grouping:广播
- Global Grouping:全局分组,Tuple被分配到一个Bolt中的一个Task,实现事务性的Topology。
- None Grouping:不分组。
- Direct Grouping:直接分组,指定分组。
网友评论