Stream Grouping详解

Stream Grouping详解Storm 里面有 7 种类型的 streamgroupi 随机分组 随机派发 stream 里面的 tuple 保证每个 bolt 接收到的 tuple 数目大致相同 FieldsGroupi 按字段分组 比如按 userID 来分组 具有同样 userID 的 tuple 会被分到相同的 bolts 里的一个 task 而不同的 userID 则会被分配到不同的 bolts 里面的 tas

Storm里面有7种类型的stream grouping

  • shuffle Grouping :随机分组,随机派发stream里面的tuple,保证每个bolt接收到的tuple数目大致相同。
  • Fields Grouping:按字段分组,比如按userID来分组,具有同样userID的tuple会被分到相同的bolts里的一个task,而不同的userID则会被分配到不同的bolts里面的task。
  • All Grouping :广播发送,对于每一个tuple,所有的bolts都会收到。
  • Global Grouping :全局分组,这个tuple被分配到storm中的一个bolt的其中一个task,再具体一点就是分配给id值最低的那个task。
  • Non Grouping :不分组,这stream grouping个分组的意思是说stream不关心到底谁会收到它的tuple。目前这种分组和shuffle grouping是一样的效果,有一点不同的是storm会把这个bolt放到这个bolt的订阅者同一个线程里面去执行。
  • Direct Grouping :直接分组,这是一种比较特别的分组方法,用这种分组意味着消息的发送者指定有消息接收者的哪个task处理这个消息,只有被声明为Direct Stream的消息流可以声明这种方法。而且这种消息tuple必须使用emitDirect方法来发射。消息处理者可以通过TopologyContext来获取处理他的消息的task的id(outputCollector.emit方法也会返回task的id)
  • local or shuffle grouping:如果目标bolt有一个或者多个task在同一个工作进程中,tuple将会随机发生给这些tasks。否则,和普通的shuffle grouping行为一致。
  • 部分源码展示:

Stream Grouping详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221425.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午6:08
下一篇 2026年3月17日 下午6:08


相关推荐

  • SRS低延时配置分析

    SRS低延时配置分析SRS 低延时配置分析

    2026年3月19日
    2
  • 数列所有公式大全_splay树

    数列所有公式大全_splay树请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏 中的下划线 _ 表示实际输入文件中的空格)输入格式第 1 行包含两个数 N 和 M,N 表示初始时数列中数的个数,M 表示要进行的操作数目。第 2 行包含 N 个数字,描述初始时的数列。以下 M 行,每行一条命令,格式参见问题描述中的表格。输出格式对于输入数据中的 GET-SUM 和 MAX-SUM 操作,向输出文件依次打印结果,每个答案(数字)占一行。数据范围与约定你可以认为在任何时刻,数列中至少有 1 个数。输入

    2022年8月10日
    8
  • java 判断对象是否为空的工具类_如何判断java对象是否为空「建议收藏」

    java 判断对象是否为空的工具类_如何判断java对象是否为空「建议收藏」首先来看一下工具StringUtils的判断方法:一种是org.apache.commons.lang3包下的;另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:StringUtils.isEmpty(CharSequencecs);//org.apache.commons.lang3包下的StringUtils类,判…

    2022年6月22日
    208
  • 原码,反码,补码的深入理解与原理答案_原码反码补码例题详解

    原码,反码,补码的深入理解与原理答案_原码反码补码例题详解本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等于反码加一。接触过计算机或电子信息相关课程的同学,应该都或多或少看过补码这哥仨。每次都是在课本的最前几页,来上这么一段:什么反码是原码除符号位,按位取反。补码等于反码加一。然后给整得莫名其妙,稀里糊涂地,接着就是翻页,反正后面的内容也跟三码没多大关系。我原来也是…

    2025年11月27日
    4
  • NOIP2012Day1T3-开车旅行

    NOIP2012Day1T3-开车旅行题解:首先我们可以分别建立小AAA和小BBB路程森林。其实森林也不用用边表去存储它,只要记录一下fa[i]fa[i]fa[i],即iii点的下一个点就可以了小AAA和小BBB旅行就等价于在这些森林里跑,很容易想到树上倍增。我们可以令f[i][j]f[i][j]f[i][j]为当前AAA开车在第iii个点经过2j2j2^j天后到达的点g1[i][j]g1[i][j]g1[i][j…

    2022年8月22日
    10
  • 需求分析报告应该包含哪些部分_2020最新抖音用户画像分析报告:粉丝都有哪些特点和需求?…[通俗易懂]

    需求分析报告应该包含哪些部分_2020最新抖音用户画像分析报告:粉丝都有哪些特点和需求?…[通俗易懂]本文相关:抖音用户画像分析、抖音用户画像报告、2020最新抖音用户画像分析等不管是做抖音运营还是抖音直播,了解粉丝,了解用户的需求是非常重要的!做任何事情,对症下药你才能事半功倍!比如你的粉丝想要梨子,你却给他了一个苹果,你的粉丝大部分都是分布在三线开外的城市,你却总给他们推荐昂贵的鸡肋产品!这就是没有提前了解抖音用户画像的结果!接下来,我就给你分析一下最新的抖音用户画像报告!让你运营起…

    2022年4月30日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号