Storm并行度和流分组详解

并行度

对于一个拓扑来说,并行度其实就是task,task是最小的计算单元,每个spout/bolt的相关代码副本都会运行在一个task中。并不是executor,因为默认情况下一个executor只有一个task,executor的数量和task是相等的。


流分组

流分组表示task与task之间数据流向的关系。如果bolt1有三个task会将数据流向到下游同样三个task的bolt2。以下为比较常用的分组策略:

  • Shuffle Grouping: 随机发射,负载均衡
    如果bolt1的一个task发射三条数据,那么每条数据会流向bolt2中的不同的task来达到负载均衡
  • Fields Grouping: 根据某一个,或者某些个字段fields进行分组
    task发射的每条数据称为tuple,tuple可以由很多个field组成,通过一个或者几个field进行分组,同一组中的这些fields是相同的,那么这组数据会流向同一个bolt2中的一个task
  • All Grouping: 一个task发射的数据会全部流向下游的每个task
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章