Storm并行度和流分组详解

来源:互联网 发布:js 获取get url参数 编辑:程序博客网 时间:2024/06/15 06:03

并行度

对于一个拓扑来说,并行度其实就是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
原创粉丝点击