`
hansha2
  • 浏览: 35173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

storm grouping

阅读更多

Storm Grouping

  1. shuffleGrouping

    将流分组定义为混排。这种混排分组意味着来自Spout的输入将混排,或随机分发给此Bolt中的任务。shuffle grouping对各个task的tuple分配的比较均匀。

  2. fieldsGrouping

    这种grouping机制保证相同field值的tuple会去同一个task,这对于WordCount来说非常关键,如果同一个单词不去同一个task,那么统计出来的单词次数就不对了。

  3. All grouping

    广播发送, 对于每一个tuple将会复制到每一个bolt中处理。

  4. Global grouping

    Stream中的所有的tuple都会发送给同一个bolt任务处理,所有的tuple将会发送给拥有最小task_id的bolt任务处理。

  5. None grouping

    不关注并行处理负载均衡策略时使用该方式,目前等同于shuffle grouping,另外storm将会把bolt任务和他的上游提供数据的任务安排在同一个线程下。

  6. Direct grouping

    由tuple的发射单元直接决定tuple将发射给那个bolt,一般情况下是由接收tuple的bolt决定接收哪个bolt发射的Tuple。这是一种比较特别的分组方法,用这种分组意味着消息的发送者指定由消息接收者的哪个task处理这个消息。 只有被声明为Direct Stream的消息流可以声明这种分组方法。而且这种消息tuple必须使用emitDirect方法来发射。消息处理者可以通过TopologyContext来获取处理它的消息的taskid (OutputCollector.emit方法也会返回taskid)

分享到:
评论

相关推荐

    storm多重grouping的一个例子

    本示例将深入探讨“storm多重grouping”的概念,以及如何在Spout和Bolt之间实现这一功能。首先,我们需要理解Storm的基本架构,它由Spouts(数据源)和Bolts(数据处理组件)组成,而Grouping则是决定数据如何在这些...

    storm入门.pdf

    数据流分组方式包括随机分组(Shuffle Grouping)、字段分组(Fields Grouping)、全部分组(All Grouping)、直接分组(Direct Grouping)、无分组(None Grouping)和自定义分组等。 Storm支持使用不同编程语言...

    Storm入门教程 之Storm原理和概念详解

    2、注重实践,对较抽象难懂的技术点如Grouping策略、并发度及线程安全、批处理事务、DRPC、Storm Trident均结合企业场景开发案例进行讲解,简单易懂; 3、分享积累的经验和技巧,从架构的角度剖析场景和设计实现...

    storm 学习资源总结

    Storm 的流分组策略包括洗牌分组、字段分组、Partial key grouping、ALL grouping、Global grouping、None grouping、Direct grouping 等。流分组定义了一个流在一个消费它的 bolt 内多个 task 之间如何分组。 ...

    apache-storm-2.4.0.tar.gz

    - **Stream Groupings**:数据流在 Bolt 之间的路由策略,如 Shuffle Grouping、Fields Grouping 等。 - **Nimbus**:主控服务器,负责任务调度和资源分配。 - **Supervisor**:在工作节点上运行,管理 worker 进程...

    apache-storm-0.9.3.tar

    有多种Grouping策略,例如:Shuffle Grouping(随机分发)、Fields Grouping(按字段分组)和All Grouping(所有副本都发送到每个Bolt)。 5. **Zookeeper**:Apache Storm依赖Zookeeper来协调集群中的各个节点,...

    02_流式计算基础_第1天(Storm集群部署、单词计数、Stream Grouping).docx

    02_流式计算基础_第1天 (Storm集群部署、单词计数、Stream Grouping).docx

    apache-storm-0.9.5源码

    这些策略在`backtype.storm.task`包下的`Grouping`类中定义。 在源码中,你会看到Storm采用了Thrift作为跨语言通信的中间件,这使得Storm可以支持多种编程语言。`lib/storm.thrift`包含了Thrift定义的Storm服务接口...

    Storm源码走读笔记

    Storm是一个开源的分布式实时计算系统,它是由Nathan Marz等人在Twitter工作期间开发的。Storm的主要优势在于简单、可靠、可以线性扩展到大量的机器上。它的设计目标是能简单、可靠地处理大量数据,并且可以无缝地...

    基于Storm流计算天猫双十一作战室项目实战

    - **Grouping策略**:详解如何根据不同场景选择合适的Grouping策略来优化数据流的处理效率。 - **并发度与线程安全**:深入分析并发度设置的重要性以及如何保证线程安全,避免数据处理过程中的错误和异常。 - **...

    Storm笔记-PPT

    3. **Stream Grouping**:数据流分组策略,包括字段分组、全局分组、shuffle分组等,决定Tuples如何在Bolt实例间分布。 **五、Storm原理** 1. **容错机制**:基于Zookeeper实现,当Nimbus检测到某个worker故障时,...

    Apache Storm-0.8.1 api文档 (html)

    7. **Grouping(分组)**:Storm 提供多种分组策略,如 shuffle grouping(随机分组)、fields grouping(字段分组)、global grouping(全局分组)和 all grouping(全分组),用于控制流如何在 bolts 之间进行分布...

    Storm的文档详解

    ### Storm的文档详解 #### 一、Storm基础概念 **1.1 什么是Storm?** Apache Storm 是一款免费且开源的分布式实时计算系统。它专为处理无界数据流而设计,能够实现实时数据处理任务,具备低延迟、高可用、分布式...

    storm-0.8.1压缩包

    - **Stream Grouping**:定义了Bolt如何接收来自Spout或其他Bolt的数据,例如全局分组、字段分组、shuffle分组等。 - **Topology**:由Spout和Bolt组成的计算逻辑图,描述了数据流的处理流程。 在压缩包"storm-...

    Getting.Started.with.Storm(2012.8)].Jonathan.Leibiusky.文字版.pdf

    Storm为不同的应用场景提供了多种Stream Grouping策略,比如Shuffle Grouping确保每个Tuple被随机分发到不同的任务,而Fields Grouping则根据Tuple中的字段值来进行分组。All Grouping则将每个Tuple复制发送到下游...

    storm原理分析

    11. **Stream Grouping**:决定了如何将数据流中的 Tuple 分发给 Bolt 中的不同 Task。Storm 支持以下几种分组策略: - **Shuffle**:随机分发 Tuple,确保每个 Bolt 的 Task 收到的数据大致均衡。 - **Fields**...

    storm程序代码示例

    builder.setBolt("bolt", new TestBolt(), parallelismHint).shuffleGrouping("spout"); } ``` **三、Spout实现** Spout是Storm中的数据源,负责产生数据流。在`TestSpout`类中,你需要重写`nextTuple()`方法来...

    storm组件应用说明书

    2.4 **Stream Groupings**:流分组是Bolt如何从上游Spout接收数据的方式,包括shuffle grouping(随机分发)、fields grouping(按字段分发)等。 **三、流数据处理应用场景** 3.1 **实时分析**:例如社交媒体分析...

    Storm编程实例

    - **Stream Grouping(流分组)**:这是决定Bolt如何接收来自Spout或上游Bolt的数据的方式,例如,字段分组、全局分组、shuffle分组等。 **3. Storm运行流程** 1. **定义拓扑**:编写Spout和Bolt,定义它们之间的...

Global site tag (gtag.js) - Google Analytics