- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Storm
云创大数据
• Storm简介
• Storm接口
• 实战Storm S
• 实战Storm API之RollingTopWords
Storm简介
• 与Hadoop的关系
• 基础概念
• 体系架构
• 集群部署
• 计算模型
Storm简介
Storm是由BackType开发的实时数据分析软件,旨在分析 在
发布的消息的 、分析 消息被他人重 发的频率。
于2011年7月正式收购了BackType并在同年8月将Storm开源。
目前Storm已发展成为一套完整大数据实时处理解决方案,本节从理
论方面扼要讲解Storm体系架构,为Storm实战提供理论支持。
与Hadoop的关系
• Storm用于实时计算领域,Hadoop常用于离线
分析和数据持久化。
场景
现有一组应用程序 “应用1”、 “应用2”和 “应用3”,它们可以是门户网
站、 等,这些应用的 都使用了logback ( )将结构化的日志消息写
入磁盘 ( 记录、错误消息等)。现有如下两种方式处理这些日志。
离线方式 (Hadoop方式)
实时方式 (Storm方式)
Hadoop离线分析
Storm实时处理
Storm与Zookeeper
Storm应用场景
应用 :例如当网络中的错误到达一定比率后,通知系统
管理员。
检测:例如检测异常行为,登录尝试失败次数增加。
供应链管理:例如用来检测特定商品销售峰值并且实时调整
订货。
推荐:例如发现流行趋势并且动态调整推送 。
基本概念
Tuple (元组)
Tuple实质是一个<key,value>形式的Map型数据结构,其在Storm 中的专业
表述为<Fields,Values>,它是Storm 中消息传递的基本单元。Fields或
Values两个字段本身可以是任意复杂数据结构,不过应满足可序列化这一基
本条件。对于常见的基本类型,Storm都有相应序列化版本。
值得注意的是,在实际使用时,用户只需要按序填充Values字段,无须关
心Fields字段,这是由于各个组件间传递的字段名称已经事先定义好。
Tuple实例
TupleImpl iTupleIm =new TupleImpl(); //实例化一个Tuple
iTupleIm .setFields(new Fields("xxxA")); //命令此iTupleImpl的Fields名xxx
iTupleIm .getFields(); //获取iTupleImpl当前Fields 名
输出:xxxA
iTupleIm .setValues(new Values("222A")); //设置xxx字段的值为222
iTupleIm .getStringByField("xxxA"); : //获取xxx字段对应值 (即222)
输出:222A
TupleImpl iTupleImplB=new TupleImpl(); //实例化一个Tuple
//设置此iTupleImpl的Fields包含三个Field,分别为xxxB 、yyyB 、zzzB
iTupleImplB.setFields(new Fields("xxxB","yyyB","zzzB"));
iTupleImplB.getFields(); //获取iTupleImpl当前Fields 名
输出:[xxxB, yyyB ,zzzB]
//设置xxxB字段的值为222B,yyyB值为Int型33,zzzB字段值为###B
iTuple
文档评论(0)