《Storm分布式实时计算模式》——1.2 单词计数topology的数据流

[text](本节书摘来自华章计算机《Storm分布式实时计算模式》一书中的第1章,第1.2节,作者:(美)P. Taylor Goetz Brian O’Neill 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 单词计数topology的数据流

如图1-2所示,单词计数topology由一个spout和下游的三个bolt组成。


7d2caf4510f90e61fa828acaa5304fce19690b78

1.2.1 语句生成spout
SentenceSpout类的功能很简单,向后端发射一个单值tuple组成的数据流,键名是“sentence”,键值是字符串格式存储的一句话。如下所示:


4424a913b7e471c789216378adcd4f40462e8bfc

为了简化起见,我们的数据源是一个静态语句的列表。spout会一直循环将每句话作为tuple发射。实际应用中,spout通常会连接到动态数据源上,比如通过Twitter的API获取推特消息。
1.2.2 语句分割bolt
语句分割bolt(SplitSentenceBolt)类会订阅sentence spout发射的tuple流。每当收到一个tuple,bolt会获取“sentence”对应值域的语句,然后将语句分割为一个个的单词。每个单词向后发射一个tuple:

e57f83f819322faf39a932d10632e501a55731e0

1.2.3 单词计数bolt
单词计数bolt(WordCountBolt)订阅SplitSentenceBolt类的输出,保存每个特定单词出现的次数。每当bolt接收到一个tuple,会将对应单词的计数加一,并且向后发送该单词当前的计数。

cddf642b4bb9dd906d85fbadd36e19a9c283bd8b

1.2.4 上报bolt
上报bolt订阅WordCountBolt类的输出,像WordCountBolt一样,维护一份所有单词对应的计数的表。当接收到一个tuple时,上报bolt会更新表中的计数数据,并且将值在终端打印。
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值