Storm计算模型

Storm的核心是topology,它基于DAG模型实现灵活的数据处理。DAG允许数据流在各个阶段同时处理,提高吞吐量。Spout作为数据源,从外部数据源如Kafka获取数据生成Tuple。Bolt负责处理数据,其execute函数处理新到来的Tuple。Grouping策略包括Shuffle、Fields、All、Global、None、Direct和Local或Shuffle,用于决定Tuple如何分发到Bolt的不同Task。例如,Fields Grouping按字段进行分组,保证相同字段的Tuple在同一Task处理,而shuffleGrouping实现负载均衡。
摘要由CSDN通过智能技术生成
DAG计算模型,一个阶段接另一个阶段再接另一个阶段,在这个有向无环图里面可以灵活的组合,DAG是由Spout和bolt组合起来的,它们都是节点,是stream数据流,数据流里面的数据单元就是Tuple。

Storm里面关键的组件,有nimbus/supervisor/worker/executor,另外storm还用到了外围的组件zookeeper来存储协调数据。

在Storm中最重要的就是topology,topology就是对于DAG模型的一个实现。

采用DAG的好处,这就是第一,DAG有很多个阶段,可以进行灵活的装配,比如这里的bolt可以在这个应用被用到,也可以在另外的应用里面被用到。另外一个好处就是,它能把数据真正的流起来,还是和hadoop的mapreduce对比,如果跑4个阶段,那就需要4个mapreduce任务,每一个阶段都得等上一个阶段结束,而流式处理4个阶段就可以同时处理。吞吐量的增加。一分钟处理一个,而mapreduce4分钟处理一个。而且整个DAG这个图是在内存里面的一个图,Spout和bolt都是在内存里面进行计算的,不会写入磁盘的,所以是非常高效的在运转。

Tuple
–get[i]
–getString[i]
–getString["name"]
–Tuple的ID对于Storm的可靠性是非常有用的
Stream
–每一个Stream都有一个ID,如果没有指定写ID就用的是默认的流,叫default,每个Spout/Bolt都有一个默认的Stream:default
–一个stream中的Tuple有固定的schema
–每个spout/bolt都有一个默认的stream:default
–spout/bolt可以有多个流

Spout
其实它就是产生Tuple的源头&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值