A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 长沙-小知姐姐 于 2019-1-3 09:25 编辑






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 的统计等操作。


2 个回复

正序浏览
大概了解了,谢谢
回复 使用道具 举报
看一看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马