博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Storm分布式实时计算模式》——1.2 单词计数topology的数据流
阅读量:5742 次
发布时间:2019-06-18

本文共 737 字,大约阅读时间需要 2 分钟。

[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会更新表中的计数数据,并且将值在终端打印。
)

转载地址:http://rsszx.baihongyu.com/

你可能感兴趣的文章
如何简单的使用SMSSDK提供的UI
查看>>
css常用的几种居中方式
查看>>
mpvue开发小程序总结
查看>>
使用思维导图工具MindManager进行项目管理的五个阶段
查看>>
CSS-Flex 布局教程:实例篇
查看>>
Java和移动端交互
查看>>
Java SSM 客户管理 商户 管理系统 库存管理 销售报表 项目源码
查看>>
排序优化——如何实现一个通用的、高性能的排序函数
查看>>
从比特币的起源说起,谈谈区块链的前世今生
查看>>
解决Python3.7不能导入tensorflow的问题
查看>>
菜鸟裹裹App分析系列-UI框架设计分析
查看>>
IDEA中css文件包红色下划线
查看>>
区块链支付系统:基于区块链技术的跨境支付新模式
查看>>
ES5 to ESNext —  自 2015 以来 JavaScript 新增的所有新特性
查看>>
解决Mac升级到10.13.2版本CocoaPods 报错
查看>>
最简单的MVP 模板代码 简化Dagger 绑定逻辑
查看>>
移动端屏幕适配相关问题
查看>>
说说在 Spring 中,如何基于 XML 来配置事务
查看>>
数据库的排序
查看>>
vue.js 父子简单通讯
查看>>