storm 总结

2018-05-31  本文已影响0人  正居明阳

Topology 负责整个计算图

每个节点是一个component,每个节点可以有1到多个 stream,每个stream内部是tuple(可以有多个字段,需要declare字段名字)

节点之间的关系可以通过componentid或者streamid来关联

有些数据的shuffle需要制定使用tuple中的某几个field,作为partition key

一个节点在提交任务的时候,可以设置并发度,比如使用多少个task来并行执行

整体提交的是topology,

一般一个实时流的模式,需要在某些节点内存(或者一个外部数据库,比如redis)保存一个临时变量 做一些统计使用,

每过一段时间,需要把这个临时变量清空,并输出分段的统计结果,比如按天统计某个指标

不能一直在内存中存着,否则会爆的

但是需要确保的是,输入数据是按顺序来的,而不是无序的,否则,对于storm计算来说,必须得等到整个停止,才能计算出最终结果了

所以,storm的输入数据 需要 保证是有序的,或者大的粒度上是有序的,比如,两天的数据是有序的,但是同一天内的数据不需要有序,这样,可以做按天统计;

参考数据:《storm源码分析》

上一篇 下一篇

猜你喜欢

热点阅读