由Word Count入门Apache Storm
–>
Storm是一个分布式流处理框架。
入门
Word count作为分布式的”hello world”, 这里由word count引出Storm的topology概念。
问题
有一系列DNS查询,需要统计被查询最多次的域名
从函数式编程的角度来讲,可以把算法归纳为下图
即为
h ( g ( f (data) ) )
转换为Storm topology
概念
-
Topology:拓扑结构
-
Spout:spout作为整个拓扑的数据源,一个topology中可能存在多个数据源。上图中即为提供DNS查询的数据源
-
Bolt: bolt是topology中的基本数据处理单元。上图中,即为f,g,h三个函数。
-
Tuple: 基本数据单元。例 (1.1.1.1, “foo.com”)
-
Stream: 无止境一串的tuple流 … (2.2.2.2, “bar.net”), (3.3.3.3, “foo.com”), (4.4.4.4, “foo.com”) …
Stream Grouping 常用分组方式
-
Shuffle grouping
随机分配tuple给后续节点
-
Fields grouping
根据定义的fields字段,将相同key值的字段分配给同一后续节点。常用于统计同一key值的数量
-
All grouping
Storm和Hadoop的区别
Hadoop主要用来处理batch(批处理)数据, Storm主要用来处理Stream(流式)数据。 主要区别如下图所示:
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。
© 版权声明
文章版权归作者所有,未经允许请勿转载。