`
brucewei777
  • 浏览: 83089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初步接触storm

 
阅读更多
    今天学习了一下storm的相关知识,不是很深入,就是看了一下storm-starter-master项目里的WordCountTopology。直接运行报错,发现这个例子中,有个Bolts是用python或者ruby语言开发的。因为这个例子要完成的任务就是计算单词的频率,比较简单,所以打算调通它,然后把程序一步步的跟一遍,这样就好理解一些内容了。

    我的方法就是把SplitSentence的核心用java实现。

    首先肯定不用再扩展ShellBolt了,也不实现IRichBolt,而是实现BaseBasicBolt。在execute方法里的内容就照着python代码,最后一句写成
collector.emit(new Values(word,1));

但是报错:
Tuple created with wrong number of fields. Expected 1 fields but got 2 fields
说实话,我在截止错误出现的时候,对storm的理解都是相当含糊的,于是我把上面那句改成

collector.emit(new Values(word));

居然能正确运行,这纯粹是撞上的,不过这倒让我对declareOutputFields这个方法的作用有了了解。在本例中,declareOutputFields里的内容是:

declarer.declare(new Fields("word"));

它声明了该Bolt的输出字段,只有一个,而且这个Fields的名字很重要,是供下游使用的,比如这里叫word,那么在fieldsGrouping也应该通过word来指定这个结果。如果是

declarer.declare(new Fields("word","count"));则最初的那种格式是可以的。

而且,在fieldsGrouping函数里面,还可以设定从上一个Bolt中获得哪些Fields。
我觉得写Topology就像是水管工人的工作,把水流引流到需要的地方去。
2
1
分享到:
评论
2 楼 hzxlb910 2013-07-19  
我运行直接报错,是怎么搞的
java.lang.NoClassDefFoundError: org/apache/thrift7/TBase
1 楼 ljmomo 2013-01-06  
楼主的理解完全正确,我也做过storm的学习。Bolt是处理方法,Spout就源头。

相关推荐

    Storm入门教程 之Storm原理和概念详解

    Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群、Zookeeper集群等,涉及项目:网站PV、UV案例实战、其他案例; Storm视频教程亮点: 1、Storm...

    storm-ui:Apache Storm 的用户界面

    主分支: ##包裹包战 mvn clean package -DskipTests=true -Dwarcp ./target/storm-ui.war $TOMCAT_HOME/webapps/包装罐 mvn clean package -DskipTests=truecp ./target/storm-ui-*.jar $STORM_HOME/external/...

    storm入门.pdf

    storm的入门,东西很不错!看完就算是基本入门啦!!还等什么?

    传智播客Storm项目实战课程 Storm的集群搭建实战 Storm项目学习视频教程

    01-storm简介 02-storm部署-1 03-storm部署-2 04-storm部署概念 05-streamgrouping 06-storm组件生命周期 07-storm可靠性1 08-storm可靠性2

    Apache Storm(apache-storm-2.3.0.tar.gz)

    Apache Storm(apache-storm-2.3.0.tar.gz) 是一个免费的开源分布式实时计算系统。Apache Storm 可以轻松可靠地处理无限制的数据流,实时处理就像 Hadoop 进行批处理一样。Apache Storm 很简单,可以与任何编程语言...

    细细品味Storm_Storm简介及安装

    细细品味Storm_Storm简介及安装

    Storm.Applied.Strategies.for.real-time.event.processing

    Storm Applied is a practical guide to using Apache Storm for the real-world tasks associated with processing and analyzing real-time data streams. This immediately useful book starts by building a ...

    Apache Storm(apache-storm-2.3.0-src.tar.gz 源码)

    Apache Storm(apache-storm-2.3.0-src.tar.gz 源码) 是一个免费的开源分布式实时计算系统。Apache Storm 可以轻松可靠地处理无限制的数据流,实时处理就像 Hadoop 进行批处理一样。Apache Storm 很简单,可以与...

    Storm实时数据处理

    Storm实时数据处理

    大数据-Storm实时数据处理

     《大数据技术丛书:Storm实时数据处理》通过丰富的实例,系统讲解Storm的基础知识和实时数据处理的最佳实践方法,内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同...

    storm.学习资料和代码

    获取到文件名称 : apache-storm-0.9.2-incubating.tar.gz 获取到文件名称 : Learning Storm [eBook].pdf 获取到文件名称 : Storm Blueprints.Patterns.pdf 获取到文件名称 : storm01.rar 获取到文件名称 : storm...

    storm安装包

    storm安装包storm安装包storm安装包storm安装包storm安装包storm安装包storm安装包

    Storm实战构建大数据实时计算

    Storm官方网站有段简介 Storm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量处理大数据一样,Storm可以实时处理数据。Storm简单,可以使用任何编程语言。

    《Storm实时数据处理》PDF.zip

    《storm实时数据处理》通过丰富的实例,系统讲解Storm的基础知识和实时数据处理的最佳实践方法,内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同编程语言中的实现方法...

    storm chm文档

    storm chm文档 ,使用Storm实现实时大数据分析,storm源码学习

    IP-Storm!0[1].03IP-Storm!0[1].03

    IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03IP-Storm!0[1].03

    storm json最新代码

    storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码storm json最新代码...

    Flume+kafka+Storm整合

    Flume+kafka+Storm整合 示例简介: 以下为三个组建整合,这里只做操作也演示结果,原理性方面大家多学习基础。 流程顺序是flume获取telnet数据,将接收到的数据发送至kafak,kafka作为Storm的spout,Storm进行有向无...

    Storm 实战:构建大数据实时计算完整版

    随着大数据实时处理需求的强劲增长,Storm的出现填补了大数据处理生态系统的缺失,并被越来越多的公司所采用。阿里巴巴集团数据平台事业部商家数据业务部正是最早使用Storm的技术团队之一。 《Storm实战:构建...

Global site tag (gtag.js) - Google Analytics