Stream Grouping定义了一个流在Bolt任务间该如何被切分。这里有Storm提供的6个Stream Grouping类型:
1. 随机分组(Shuffle grouping):随机分发tuple到Bolt的任务,保证每个任务获得相等数量的tuple。
2. 字段分组(Fields grouping):根据指定字段分割数据流,并分组。例如,根据“user-id”字段,相同“user-id”的元组总是分发到同一个任务,不同“user-id”的元组可能分发到不同的任务。
3. 全部分组(All grouping):tuple被复制到bolt的所有任务。这种类型需要谨慎使用。
4. 全局分组(Global grouping):全部流都分配到bolt的同一个任务。明确地说,是分配给ID最小的那个task。
5. 无分组(None grouping):你不需要关心流是如何分组。目前,无分组等效于随机分组。但最终,Storm把无分组的Bolts放到Bolts或Spouts订阅它们的同一线程去执行(如果可能)。
6. 直接分组(Direct grouping):这是一个特别的分组类型。元组生产者决定tuple由哪个元组处理者任务接收。当然还可以实现CustomStreamGroupimg接口来定制自己需要的分组。
相关推荐
Storm分组机制 Storm提供了多种分组策略,如全组播(AllGrouping)、全局分组(GlobleGrouping)等,这些策略决定了数据如何在Bolt之间进行分配,从而影响系统的处理效率和一致性。 ### 12. Storm并行结构 并行度...
【Storm篇】--Storm中的同步服务DRPC 【Storm篇】--Storm从初始到分布式搭建 【Storm篇】--Storm 容错机制 【Storm篇】--Storm并发机制 【Storm篇】--Storm分组策略 【Storm篇】--Storm基础概念
3. **Stream Grouping**:数据流分组策略,包括字段分组、全局分组、shuffle分组等,决定Tuples如何在Bolt实例间分布。 **五、Storm原理** 1. **容错机制**:基于Zookeeper实现,当Nimbus检测到某个worker故障时,...
Storm通过检查点和消息重放机制来实现容错。当某个worker故障时,其任务可以被重新调度到其他节点,而未完成的处理可以通过重放未确认的事件来恢复,确保数据不丢失。 五、高级应用开发 书中可能涉及的高阶应用开发...
本文档是关于Storm源码的详细走读笔记,主要分析了Storm的启动场景、Topology提交过程、worker进程中的线程使用情况、消息传递机制以及 TridentTopology的创建和ack机制等多个方面。 首先,文档提到了Storm集群中的...
为了保证每条消息都能被完全处理,Storm提供了消息不丢失机制,这在容错性方面是非常关键的。Storm确保一旦消息被处理,它就不会丢失,并且可以通过追踪acknowledgments(确认信号)来处理失败的情况。 Storm的系统...
Storm是Apache软件基金会的一个分布式实时计算系统,它允许开发者编写可以处理实时数据流的应用程序。在深入探讨Storm的测试...这将有助于理解Storm的内部工作机制,为开发更复杂的实时数据处理系统打下坚实的基础。
### Storm原理分析 #### 一、Storm基本结构 ...通过对 Storm 的基本结构、元数据管理、通信机制、调度策略、ACK 框架以及 Storm-Kafka 集成等方面的学习,开发者可以更好地理解和利用 Storm 的强大功能。
总的来说,分析Apache Storm 0.9.5的源码,我们可以深入了解其设计思想、内部机制和实现细节,这对于开发者在实际项目中优化性能、解决故障、定制功能都有极大的帮助。同时,这也为理解后续版本的改进和发展提供了...
7. **Grouping(分组)**:Storm 提供多种分组策略,如 shuffle grouping(随机分组)、fields grouping(字段分组)、global grouping(全局分组)和 all grouping(全分组),用于控制流如何在 bolts 之间进行分布...
- Storm 通过消息确认机制、故障恢复机制等手段实现可靠性。 - **2.5.5 调节可靠性** - 用户可以根据需要调整可靠性级别,以平衡性能和准确性。 **2.6 消息传输机制** - **2.6.1 ZeroMQ** - ZeroMQ 是 Storm ...
在 "apache-storm-1.0.2" 的源代码中,你可以深入研究 Storm 的实现细节,包括元数据管理、容错机制、并行度控制、配置选项等。此外,通过查看示例拓扑和组件,可以更好地理解如何构建自己的实时处理应用。 总结来...
### Storm入门详解 #### 第一章 基础 **Storm** 是一款开源的分布式实时计算系统,它能够实现对大量连续数据流的实时处理。Storm 的架构设计使其具有高可扩展性和容错能力,非常适合处理大规模的数据流。 **Storm...
5. **容错机制**:Storm 提供了强大的容错机制,当某个工作节点故障时,任务会自动迁移至其他可用节点,确保系统的高可用性。 6. **Zookeeper**:Storm 使用 Zookeeper 进行集群管理和协调,包括分配任务、监控拓扑...
有多种Grouping策略,例如:Shuffle Grouping(随机分发)、Fields Grouping(按字段分组)和All Grouping(所有副本都发送到每个Bolt)。 5. **Zookeeper**:Apache Storm依赖Zookeeper来协调集群中的各个节点,...
这是数据流在 bolts 之间的路由方式,包括随机分发、字段分组、全分组、唯一分组等多种策略。 7. **容错机制**: Storm 提供了自动故障恢复功能,当某个 worker 失败时,Nimbus 会重新调度任务到其他可用节点,...
在Storm集群中,ZooKeeper用于管理拓扑结构、分配任务以及实现集群的容错机制。 标签"storm"直接指出了本文的核心主题,即Apache Storm。这个标签通常与分布式计算、实时数据处理、大数据技术等相关联。 压缩包子...
- Storm提供了多种分组策略,如 shuffle grouping(随机分组)、fields grouping(按字段分组)等,决定了Bolt如何接收来自上游Spout或Bolt的数据。 6. **容错机制** - Storm通过检查点和状态持久化确保数据的...
它的工作机制基于“topology”(拓扑结构)的概念,一个由多个组件(spout和bolt)组成的计算网络,其中spout负责产生或接收数据流,而bolt则执行实际的计算任务,如过滤、聚合、分组等。 在0.9.7版本中,Storm ...