storm 简介
一、storm中一些定义
1.Topologies
Storm topology类似于一个MapReduce job. 唯一不同的是MapReduce任务会结束而 topology一直运行。一个topology是由spouts,bolts组成的流分组图。
2.Streams
Stream由无序的tuples组成。tuple可以包含integers, longs, shorts, bytes, strings, doubles, floats, booleans, and byte arrays,也可以自己定义序列化使用自己定义的类型。
Streams are defined with a schema that names the fields in the stream's tuples. By default, tuples can contain integers, longs, shorts, bytes, strings, doubles, floats, booleans, and byte arrays. You can also define your own serializers so that custom types can be used natively within tuples
3.Spouts
spouts是topology的源头, 一般spouts 会从外部读取tuples到topology.
4.bolts
所有的处理工作都是在bolts中完成的。Bolts可以做filtering, functions, aggregations, joins, talking to databases等等。
定义一个bolt时候,需要从另一个组件中订阅流量。declarer.shuffleGrouping("1")
从 component "1"订阅流量。
5.Stream groupings
6.Tasks
二、参考文献
http://storm.apache.org/releases/2.0.0-SNAPSHOT/Concepts.html
http://storm.apache.org/releases/2.0.0-SNAPSHOT/Understanding-the-parallelism-of-a-Storm-topology.html