`

storm分组策略介绍

 
阅读更多
一、storm数据来源
Spout的数据源:

MQ:直接流数据源

Db:只能读配置文件

文件:只能学习用,其他无用。
问题:1、分布式应用无法读;2、spout开并发会重复读
Log文件增量数据:1、读出内容写入MQ,2、Storm处理

二、分组策略

stream grouping就是用来定义一个stream应该如果分配给Bolts上面的多个
Executors(多线程,并发度)
注:不是一个spout或bolt emit到多个bolt(广播方式)。

storm里面有6种类型的stream grouping。
单线程下均等同于All Grouping

1.Shuffle Grouping:轮询,每个线程平均分配。随机派发stream里面的tuple,保证每个bolt接收到的tuple数目相同。

2. Non Grouping:无分组, 这种分组和Shuffle grouping是一样的效果,多线程下不平均分配。

3. Fields Grouping:按Field分组,比如按word来分组, 具有同样word的tuple会被分到相同的Bolts, 而不同的word则会被分配到不同的Bolts。
作用:1、过滤,从源端(Spout或上一级Bolt)多输出Fields中选择某些Field
           2、相同的tuple会分发给同一个线程(Executer或task)处理
典型场景: 去重操作、Join

4. All Grouping: 广播发送, 对于每一个tuple, 所有的Bolts都会收到。每个线程获得的数据一致。

5. Global Grouping: 全局分组, 这个tuple被分配到storm中的一个bolt的其中一个task。再具体一点就是分配给id值最低的那个task。适合场景:想象不到。

6. Direct Grouping: 直接分组, 这是一种比较特别的分组方法,用这种分组意味着消息的发送者决定由消息接收者的哪个task处理这个消息。 只有被声明为Direct Stream的消息流可以声明这种分组方法。而且这种消息tuple必须使用emitDirect方法来发射。消息处理者可以通过TopologyContext来或者处理它的消息的taskid (OutputCollector.emit方法也会返回taskid)

分享到:
评论

相关推荐

    流式计算Storm

    Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架(原来是由BackType开发,后BackType被Twitter收购,将Storm作为Twitter的实时数据分析)。

    Storm简介介绍

    Storm简介Storm简介Storm简介Storm简介Storm简介 Storm简介Storm简介Storm简介Storm简介Storm简介

    基于Storm平台的多任务分组调度策略与实现

    通过调整任务调度策略, 获得满足条件的机器队列, 查看机器队列中可用工作节点, 将指定任务均匀分配给可用工作节点, 其他任务仍通过默认策略分配给集群中的剩余机器, 实现多任务的分组调度策略.

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

    Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景) Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群...

    03_storm.zip

    【Storm篇】--Storm中的同步服务DRPC 【Storm篇】--Storm从初始到分布式搭建 【Storm篇】--Storm 容错机制 【Storm篇】--Storm并发机制 【Storm篇】--Storm分组策略 【Storm篇】--Storm基础概念

    Storm实时数据处理

    Storm实时数据处理

    storm简单介绍、模型图及基本代码

    storm简单介绍、模型图及基本代码,包括nimbus、supervisor、workers、spouts、bolts等

    细细品味Storm_Storm简介及安装

    《Storm分布式实时计算模式》分为10章:第l章介绍使用storm建立一 个分布式流式计算应用所涉及的核心概念,包括 storm的数据结构、开发环境的搭建,以及Storm 程序的开发和调试技术等;第2章详细讲解storm 集群环境...

    zookeeper+kafka+storm基本介绍

    zookeeper+kafka+storm基本介绍

    storm-ui:Apache Storm 的用户界面

    主分支: ##包裹包战 mvn clean package -DskipTests=true -Dwarcp ./target/storm-ui.war $TOMCAT_HOME/webapps/包装罐 mvn clean package -DskipTests=truecp ./target/storm-ui-*.jar $STORM_HOME/external/...

    storm入门.pdf

    storm的入门,东西很不错!看完就算是基本入门啦!!还等什么?

    storm安装配置快速上手

    Storm 安装配置快速上手 Storm 是一个分布式实时计算系统,用于处理大量数据流。下面是 Storm 安装配置的快速上手指南。 安装准备 在安装 Storm 之前,需要准备好 Linux 机器和相关环境。这里选择使用 VMware ...

    传智播客Storm项目实战课程 Storm的集群搭建实战 Storm项目学习视频教程

    01-storm简介 02-storm部署-1 03-storm部署-2 04-storm部署概念 05-streamgrouping 06-storm组件生命周期 07-storm可靠性1 08-storm可靠性2

    Apache Storm(apache-storm-2.3.0.tar.gz)

    Apache Storm(apache-storm-2.3.0.tar.gz) 是一个免费的开源分布式实时计算系统。Apache Storm 可以轻松可靠地处理无限制的数据流,实时处理就像 Hadoop 进行批处理一样。Apache Storm 很简单,可以与任何编程语言...

    Storm 实战:构建大数据实时计算完整版

    《Storm实战:构建大数据实时计算 》是一本系统并且具有实践指导意义的Storm工具书和参考书,对Storm整个技术体系进行了全面的讲解,不仅包括对基本概念、特性的介绍,也涵盖了一些原理说明。 实战性很强,各章节都...

    Storm.Applied.Strategies.for.real-time.event.processing

    Storm Applied is a practical guide to using Apache Storm for the real-world tasks associated with processing and analyzing real-time data streams. This immediately useful book starts by building a ...

    Apache Storm(apache-storm-2.3.0-src.tar.gz 源码)

    Apache Storm(apache-storm-2.3.0-src.tar.gz 源码) 是一个免费的开源分布式实时计算系统。Apache Storm 可以轻松可靠地处理无限制的数据流,实时处理就像 Hadoop 进行批处理一样。Apache Storm 很简单,可以与...

Global site tag (gtag.js) - Google Analytics