Storm常见模式1——BasicBolt

转载 2015年11月18日 19:42:48
1.Storm中与各个进程与hadoop进程对应关系是怎么样的?
2.Storm中与hadoop对应的mapreduce是什么?



Storm中的很多Bolt都有一个最常见的处理步骤:

读入一个tuple;
根据这个输入tuple,提取后发射0个,1个或多个tuple;
最后,通过ack操作确认这个tuple被成功处理。
按照上述处理步骤,依次处理发向这个Bolt的各个tuple元组。

这种模式可以实现像ETL这类的简单函数或过滤器功能,Storm中专门为这种模式封装了相应接口:IBasicBolt。BaseBasicBolt等类实现了这一接口。

为了能更好的理解Storm,及出现的术语,这里提供一张图:
 


下面是以BaseBasicBolt为基础,按照上述模式实现词频统计的Bolt(代码参考链接:storm-starter):
  1. public static class WordCount extends BaseBasicBolt {
  2.      //记录每个单词及单词出现的次数
  3.         Map<String, Integer> counts = new HashMap<String, Integer>();

  4.         @Override
  5.         public void execute(Tuple tuple, BasicOutputCollector collector) {
  6.             String word = tuple.getString(0);
  7.             Integer count = counts.get(word); //提取单词出现次数
  8.             if(count==null)
  9.          count = 0;
  10.             count++;
  11.             counts.put(word, count); //更新单词出现次数
  12.             collector.emit(new Values(word, count)); //发射统计结果
  13.         }

  14.         @Override
  15.         public void declareOutputFields(OutputFieldsDeclarer declarer) {
  16.        declarer.declare(new Fields("word", "count"));
  17.         }
  18.     }

转载: http://www.aboutyun.com/thread-7375-1-4.html


Twitter Storm: storm的一些常见模式

Twitter Storm: storm的一些常见模式 发表于 2011 年 10 月 07 日 由 xumingming 作者: xumingming | 可以转载, 但必须以超...
  • mengfeiyang123456
  • mengfeiyang123456
  • 2013年12月20日 10:24
  • 323

storm, kafka集成之本地开发、测试

转自:http://blog.csdn.net/xeseo/article/details/18615761 有删改 A. 使用KafkaSpout 一个KafkaSpout只能去处理一个topi...
  • ItDose
  • ItDose
  • 2016年03月24日 16:44
  • 682

实时计算框架Storm本地模式搭建

安装依赖 通过ubuntu自带的软件包管理器安装java环境。 安装Java: $ sudo apt-get install openjdk-7-jdk 检查是否安装完成: ...
  • wwd0501
  • wwd0501
  • 2016年12月14日 11:00
  • 1013

大数据_Storm_Storm的集群模式与本地模式 (基于Storm 1.0.1)

今天博主遇到了一个问题,就是将Storm 设置成本地模式后,将 Storm 的包打压成jar , 提交上去。  这时候通过 Storm ui  启动 监控界面。  但是没有查看到 Topology ,...
  • u010003835
  • u010003835
  • 2016年08月04日 22:11
  • 2282

大数据_Storm_Storm的一些基本指令

1、提交Topologies 命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】【stormIP地址】【storm端口】【拓扑名称】【参数】 eg: storm jar /home/...
  • u010003835
  • u010003835
  • 2016年08月04日 22:23
  • 890

JStorm/Storm的调试:本地运行模式

最近正在学习使用JStorm,写了一个Topology,将程序打成jar包,提交到JStorm集群运行,但是并没有输出结果,反复检查代码,还是查不出错误,而且每次改正代码之后,都要重新打成jar,上传...
  • u010010428
  • u010010428
  • 2016年06月23日 21:22
  • 6918

Storm常见模式——分布式RPC

分布式RPC(distributed RPC,DRPC)用于对Storm上大量的函数调用进行并行计算过程。对于每一次函数调用,Storm集群上运行的拓扑接收调用函数的参数信息作为输入流,并将计算结果作...
  • joeyon
  • joeyon
  • 2015年01月21日 08:55
  • 592

Storm常见模式——TimeCacheMap

http://www.cnblogs.com/panfeng412/archive/2012/06/26/storm-common-patterns-of-timecachemap.html ...
  • luyee2010
  • luyee2010
  • 2013年03月01日 03:04
  • 764

storm学习(一):搭建storm单机调试环境

最近工作需要,学习storm的使用。 这里做一下单机环境的搭建备忘: storm官网地址:http://storm-project.net/ 文档地址:http://storm-project.net...
  • wp500
  • wp500
  • 2013年11月04日 14:24
  • 7675

Storm常见模式——批处理

Storm对流数据进行实时处理时,一种常见场景是批量一起处理一定数量的tuple元组,而不是每接收一个tuple就立刻处理一个tuple,这样可能是性能的考虑,或者是具体业务的需要。 例如,批量查询...
  • luyee2010
  • luyee2010
  • 2013年03月01日 03:02
  • 824
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Storm常见模式1——BasicBolt
举报原因:
原因补充:

(最多只允许输入30个字)