黑马程序员技术交流社区

标题: 【长沙校区】storm入门-实时单词统计 [打印本页]

作者: 长沙-小知姐姐    时间: 2019-1-2 10:12
标题: 【长沙校区】storm入门-实时单词统计
本帖最后由 长沙-小知姐姐 于 2019-1-3 09:25 编辑



Java , 前端全网资源链接 : 【长沙校区】集合Java,前端所有基础入门,重点问题一览帖



storm概述

Storm是一个分布式计算框架,是一个免费开源的分布式实时计算系统。Storm能轻松可靠地处理无界的数据流,就像Hadoop对数据进行批处理,根据源源不断的数据,实时分析得到不同的结果。


storm应用场景

(1)京东-实时分析系统:实时分析用户的属性,并反馈给搜索引擎(2)携程-网站性能监控:实时分析系统监控携程网的网站性能(3)淘宝双十一:实时统计销售总额

storm组件介绍

Tuple

元组(Tuple),是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象。

Stream

流是Storm的核心抽象,是一个无界的元组系列。源源不断传递的元组就组成了流,在分布式环境中并行地进行创建和处理。

Spout

Spout是拓扑的流的来源,是一个拓扑中产生源数据流的组件。

Bolt

在拓扑中所有处理都在Bolt中完成,Bolt是流的处理节点,从一个拓扑接收数据,然后执行进行处理的组件

Topology

拓扑(Topology)是Storm中运行的一个实时应用程序,因为各个组件间的消息流动而形成逻辑上的拓扑结构

入门案例介绍

需求

实时统计发射到Storm框架中单词的总数

分析

设计一个topology,来实现对文档里面的单词出现的频率进行统计。

整个topology分为三个部分:

(1)RandomSentenceSpout:数据源,在已知的英文句子中,随机发送一条句子出去。

(2)SplitSentenceBolt:负责将单行文本记录(句子)切分成单词

(3)WordCountBolt:负责对单词的频率进行累加

代码实操


总结


运行main方法,即可实现发射到storm框架的单词的个数,这是学习storm入门的一个基本案例,通过代码了解storm的基本开发流程,了解创建每个组件的作用,在storm的实际使用中,可以去做网站PV 的统计等操作。



作者: 一个人一座城0.0    时间: 2019-1-3 08:30
看一看。
作者: 灵动    时间: 2019-2-11 14:35
大概了解了,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2