storm实战基础count实例_第1页
storm实战基础count实例_第2页
storm实战基础count实例_第3页
storm实战基础count实例_第4页
storm实战基础count实例_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Storm实战基础WordCountStorm实战基础WordCount—效果展示在讲解Storm的应用实战之前,我们先来看一下我们写出来的代码实例执行起来后是怎么样的,以及具体的实时处理效果。Storm实战基础WordCount—课程概要Storm应用实例设计WordCount实例代码讲解Storm应用实例演示及总结Storm实战基础WordCountStorm应用实例设计Storm应用实例设计这个课时我们主要讲解Storm的应用开发基础实战实例设计相关的内容,包含以下几个知识点:实例需求分析;与Hadoop的WordCount实例的对比;Storm的编程模型;方案及拓扑设计;我们先从实例的需求出发,了解实例的开发需求,然后结合Hadoop中著名的应用开发WordCount实例,进行比对分析,基于Storm的编程模型,我们来做一个实例方案,并且以拓扑为核心进行拓扑设计,做好代码开发前的准备工作。Storm应用实例设计—实例需求分析基础实战目的:从简单的编程实例中了解Storm的编程模型、应用开发模式以及了解Storm应用开发中本地模式与集群模式的不同,熟悉Storm拓扑任务的提交、查看以及终止等常规操作。实例需求:流式的接入英文语句,要求实时获取当前的单词词频,或者词频TopN的单词;实时热点原始模型。实例分析:普通的解决思路无法满足大规模数据处理的需求,并且难以保证数据连续不断处理,即业务在非正常情况下不随意终止。Storm应用实例设计—与Hadoop的WordCount实例的对比Hadoop中MapReduce的WordCount:统计一系列文本文件件中每个单词出现的次数,即词频。主要过程:MapReduce采用“分而治之”的思想,把大规模数据集的操作,分发到多个节点上执行。Map对文本文件进行归一化处理,即单词拆分,在

Reduce阶段完成单词的统计。两个WordCount对比:数据特点实例特点实现思想技术选型编程模型海量、固定规模批量处理分而治之HadoopMap+Reduce海量、持续增加流式实时处理StormSpout+BoltStorm应用实例设计—Storm编程模型消息源Spout->继承BaseRichSpout类/实现IRichSpout接口:

open方法,初始化动作;nextTuple方法,消息接入,执行数据发射;ack方法,

tuple成功处理后调用;fail方法,tuple处理失败时调用;declareOutputFields方法,通常声明输出字段。处理单元Bolt->继承BaseBasicBolt类/实现IRichBolt接口:prepare方法,worker启动时初始化;execute方法,接受一个tuple并执行逻辑处理,发射出去;cleanup方法,关闭前调用;declareOutputFields方法,字段申明。Storm应用实例设计—方案及拓扑设计方案设计:技术选型使用Storm,依靠Storm的实时性以及大规模数据的特点。在Spout中随机发送内置的语句作为消息源;使用一个Bolt进行语句切分,将句子切分成单词发射出去;使用一个bolt订阅切分的单词Tuple,进行单词统计,并且选择使用按字段分组的策略,词频实时排序,把TopN实时发射出去;最后使用一个Bolt将结果打印到log中。拓扑设计:Storm实战基础WordCountWordCount实例代码讲解WordCount实例代码讲解结合实际代码讲解这个实战实例是怎么实现的,主要会包含以下几个方面:代码结构讲解;Maven依赖解说;消息源RandomSentenceSpout讲解;数据标准化WordNormalizerBolt讲解;词频统计WordCountBolt讲解;工具类MapSort以及PrintBolt讲解;拓扑构建WordCountTopology讲解;Storm实战基础WordCountStorm应用实例演示及总结Storm应用实例演示及总结本课时主要结合实例的演示,讲解Storm的本地模式以及集群模式的特点,涉及以下几个知识点:实例本地模式执行演示;实例Maven打包上传;实例拓扑集群演示;执行拓扑监控UI解说;Storm相关操作命令;实例总结及拓展;Storm应用实例演示及总结—Storm相关操作命令Storm相关操作命令:activate:激活指定任务;classpath:打印storm的classpath;deactivate:暂停storm的任务;dev-zookeeper:启动一个新的Zookeeper,这种情况只用于dev/test;drpc:启动一个DRPC进程;help:命令解释及操作提示;jar:运行你的storm

job,topology是类中的主函数;Storm应用实例演示及总结—Storm相关操作命令kill:通过任务名称kill一个任务;list:列出正在运行的topolofies和状态;localconfvalue:打印出具体配置参数在本地storm配置文件中的值;nimbus:启动一个nimubs进程;supervisor:启动一个supervisor进程;ui:启动监控页面UI的后台进程;rebalance:节点扩展之后进行负载均衡;remoteconfvalue:打印出具体配置参数在storm

cluster中的值;version:获取版本Storm号;Storm应用实例演示及总结—实例总结及拓展实例总结:

WordCount是Storm入门级实例,属于Storm应用开发中的HelloWorld。从简单的Storm应用开发实例中,我们深入学习Storm的编程模型、应用实例的项目结构,对FieldsGrouping分组流策略的作用有一个比较清晰的认识,并且学会进行任务的提交、查看以及终止等常规操作。实例拓展:主要从以下几个方面进行扩展:消息源接入方式的扩展,实时逻辑处理过程的拓展,数据处理完毕落地方式的扩展;Storm实战基础WordCount本套课程中我们主要学习了Storm入门级实例WordCount的讲解。通过学习本课程,你应当掌握了以下知识:深入掌握Storm的编程模型;更加熟悉不同的分组流策略;熟悉St

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论