知识点
相关文章
更多最近更新
更多Storm常见模式——BasicBolt
2019-03-02 23:44|来源: 网路
Storm中的很多Bolt都有一个最常见的处理步骤:
- 读入一个tuple;
- 根据这个输入tuple,提取后发射0个,1个或多个tuple;
- 最后,通过ack操作确认这个tuple被成功处理。
按照上述处理步骤,依次处理发向这个Bolt的各个tuple元组。
这种模式可以实现像ETL这类的简单函数或过滤器功能,Storm中专门为这种模式封装了相应接口:IBasicBolt。BaseBasicBolt等类实现了这一接口。
下面是以BaseBasicBolt为基础,按照上述模式实现词频统计的Bolt(代码参考链接:storm-starter):
public static class WordCount extends BaseBasicBolt { //记录每个单词及单词出现的次数 Map<String, Integer> counts = new HashMap<String, Integer>(); @Override public void execute(Tuple tuple, BasicOutputCollector collector) { String word = tuple.getString(0); Integer count = counts.get(word); //提取单词出现次数 if(count==null) count = 0; count++; counts.put(word, count); //更新单词出现次数 collector.emit(new Values(word, count)); //发射统计结果 } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("word", "count")); } }
转自:http://www.cnblogs.com/panfeng412/archive/2012/06/19/storm-common-patterns-of-basicbolt
相关问答
更多-
什么是常见的培训模式[2022-03-18]
-
计算机有多少常见问题[2022-04-27]
中了病毒有可能让系统瘫痪 -
storm本地模式是不是本地程序直接可以跑起来?[2022-03-13]
1.jpg 支持的,0.9开始支持得好一些在以前的版本里,如果想在Windows平台上运行Storm,你需要安装ZeroMQ,修改Storm的源码,追加一些Windows平台特定的脚本。而在新的版本里,因为用netty替换了ZeroMQ,由于netty用纯java实现,因此使得Storm具有更好的跨平台特性,现在要在Windows上运行Storm比以前容易很多。 -
linux的常见的分区类型有哪些?[2022-05-23]
ext2,ext3比较常用,但是最新的ubuntu己经在用ext4了。我用的就是。另个,还有一些嵌入式linux系统常用jffs和yaffs文件系统。而且,linux支持几乎所有你所知道的文件系统类型(也即分类类型).包括windows下常用的fat32 ,ntfs等。 -
java中几种常见的设计模式[2022-05-10]
一共23种设计模式! 按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。 创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。 创建型模式用来处理对象的创建过程,主要包含以下5种设计模式: 工厂方法模式(Factory Method Pattern) 抽象工厂模式(Abstract Factory Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Patter ... -
JAVA中常见的设计模式都有啥[2023-11-15]
http://zhidao.baidu.com/question/20013947.html?fr=qrl3 -
web前端常见的代码设计模式有哪些[2023-02-04]
常见代码 function CreatePerson(name,age,sex) { var obj = new Object(); obj.name = name; obj.age = age; obj.sex = sex; obj.sayName = function(){ return this.name; } return obj; } var p1 = new CreatePerson("longen",'28','男'); var p2 = new CreatePerson("tugenhua" ... -
支架式教学设计的常见模式有哪些[2021-12-30]
问题支架 。问题是学习过程中最为常见的支架,相对“框架问题”而言,支架问题的系统性较弱,有经验的教师会在学生的学习过程中自然地、应机地提供此类支架。同时,在特定主题的学习中,“支架问题”往往比“框架问题”更具结构性,更加关注细节与可操作性 -
常见的教学模式有那些?[2023-04-22]
师生系统的传授和学习书本知识 教师辅导学生从活动中自己学习 折衷于俩者之间的教学模式 -
为每个更新步骤做所有事情的复合(例如渲染)(在所有的UI库中确实很常见)。 Flyweight用于在屏幕上绘制许多相同的物品类型(树木/灌木丛/子弹) 观察很多UI库(再次,不是游戏特定的) 在游戏/菜单/控制台/暂停/等之间转换的状态。 状态 抽象工厂,用于制作小怪/ NPC的游戏类型(游戏中每次可笑的AI角色数量 - 即Left 4 Dead)。 在A *等路径寻找算法中交换启发式策略 编辑>命令像MMO的游戏有一个可互换按钮的操作栏,你可以点击施放法术和什么。 这就是我现在所能想到的一切。 Compo ...