更新时间:2024-06-27 GMT+08:00
分享

Storm样例程序开发思路

通过典型场景,可以快速学习和掌握Storm拓扑的构造和Spout/Bolt开发过程。

场景说明

一个动态单词统计系统,数据源为持续生产随机文本的逻辑单元,业务处理流程如下:

  • 数据源持续不断地发送随机文本给文本拆分逻辑,如“apple orange apple”。
  • 单词拆分逻辑将数据源发送的每条文本按空格进行拆分,如“apple”,“orange”,“apple”,随后将每个单词逐一发给单词统计逻辑。
  • 单词统计逻辑每收到一个单词就进行加一操作,并将实时结果打印输出,如:

    apple:1

    orange:1

    apple:2

功能分解

根据上述场景进行功能分解,如表1所示:

表1 在应用中开发的功能

序号

步骤

代码示例

1

创建一个Spout用来生成随机文本

请参见创建Storm Spout

2

创建一个Bolt用来将收到的随机文本拆分成一个个单词

请参见创建Storm Bolt

3

创建一个Blot用来统计收到的各单词次数

请参见创建Storm Bolt

4

创建topology

请参见创建Storm Topology

部分代码请参考开发Storm应用,完整代码请参考Strom-examples示例工程。

相关文档