Storm是一个分布式流处理框架。

入门

Word count作为分布式的"hello world", 这里由word count引出Storm的topology概念。

问题

有一系列DNS查询,需要统计被查询最多次的域名

由Word Count入门Apache Storm

从函数式编程的角度来讲,可以把算法归纳为下图

由Word Count入门Apache Storm

即为
h ( g ( f (data) ) )

转换为Storm topology

由Word Count入门Apache Storm

概念

  • 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给后续节点

由Word Count入门Apache Storm

  • Fields grouping
    根据定义的fields字段,将相同key值的字段分配给同一后续节点。常用于统计同一key值的数量

由Word Count入门Apache Storm

  • All grouping

由Word Count入门Apache Storm

Storm和Hadoop的区别

Hadoop主要用来处理batch(批处理)数据, Storm主要用来处理Stream(流式)数据。 主要区别如下图所示:
由Word Count入门Apache Storm

相关文章:

  • 2021-05-22
  • 2021-11-15
  • 2021-08-15
  • 2022-12-23
  • 2021-11-13
  • 2022-12-23
  • 2021-07-31
  • 2022-02-10
猜你喜欢
  • 2021-09-19
  • 2022-02-28
  • 2021-12-14
  • 2021-06-17
  • 2022-01-29
  • 2022-12-23
相关资源
相似解决方案