storm的bolt实现阶段统计
来源:互联网 发布:数据周报模板 编辑:程序博客网 时间:2024/06/14 09:42
有时候我们的bolt处理统计逻辑时,需要阶段统计一下,再把统计结果emit到后面的汇总统计bolt处理,因此需要在本地作一个定时阶段的统计,时间满后再后端的bolt emit数据。
阶段统计的bolt实现方法如下:
public void execute(Tuple tuple, BasicOutputCollector collector) { if (TupleHelpers.isTickTuple(tuple)) { //log.info("tick tuple: " + tuple); emitCountingData(collector); } else { countInLocal(tuple); } }此bolt还要override一个父类的方法,如下:
@Override public Map<String, Object> getComponentConfiguration() { Map<String, Object> conf = new HashMap<>(); conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, emitFrequencyInSeconds); return conf; }emitFrequencyInSeconds表示阶段统计的时间,单位秒。
TupleHelpers的实现如下:
import backtype.storm.Constants;import backtype.storm.tuple.Tuple;public final class TupleHelpers { private TupleHelpers() { } public static boolean isTickTuple(Tuple tuple) { return tuple.getSourceComponent().equals(Constants.SYSTEM_COMPONENT_ID) && tuple.getSourceStreamId().equals(Constants.SYSTEM_TICK_STREAM_ID); }}
0 0
- storm的bolt实现阶段统计
- Storm可靠的Bolt与不可靠的Bolt
- Storm中Spout和Bolt的生命周期
- Storm的Spout和Bolt中的方法
- storm环境下重写bolt实现读写hdfs
- storm bolt多重聚合
- Storm bolt/spout生命周期
- Storm——可靠的与不可靠的Bolt
- storm中supervisor, task, worker, spout, bolt之间的关系
- Storm DRPC 使用及访问C++ Bolt问题的解决方法
- storm中bolt接收数据
- Storm——spout,bolt
- (大数据之storm)strom中worker、task、spout/bolt、executor、component的关系
- Storm中Bolt下prepare和execute方法的运行时间限制
- Storm 提交拓扑后UI中spout、bolt的Num都显示为0
- Storm有关worker、task、spout/bolt、executor、component之间的关系
- Storm之Spout、Bolt、Topology组件
- storm bolt作为kafka消息队列生产者
- android edittext 去边框
- ~这些年,我们一起学过的Java~04~接口与抽象类
- 冠心病支架手术后谁能为冠心病人撑起一片天?
- .Net 调用SAP RFC接口来读取数据实战纪实
- 【SerialPort】控件的使用实例
- storm的bolt实现阶段统计
- 奇怪的NVL2问题,提示NOT DECLARE
- 使用Devexpress ChartControl中的Pie图
- log4j详解
- CSS精灵技术
- linux 通过程序名杀死进程
- 深入理解计算机系统之旅(三)程序的机器级表示
- mysql中char与varchar的区别分析
- 窗口 OnCreate()与PreCreateWindow() .