`
dmcp
  • 浏览: 22548 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

storm的bolt实现阶段统计

 
阅读更多

有时候我们的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);
    }
}



分享到:
评论

相关推荐

    storm-redis:Storm Bolt 状态管理

    第一个是处理消息重放的Spout 部分,第二个是管理主要处理中间状态的Bolt 部分。 ####脱粒机####卡夫卡用作喷口的数据源。 这使得重播消息变得容易和方便。 并且使用 kafka 不需要(拓扑的)喷口自己跟踪消息。 ...

    Bolt:CSRF扫描仪-源码

    螺栓笨拙的CSRF扫描仪重要的Bolt处于测试的Beta阶段,这意味着可能存在错误。 不鼓励使用此工具。 欢迎提出请求和问题。 如果您对此仓库感兴趣,我也建议您将它放在监视中。...分析在此阶段执行各种统计检查

    Storm中spout和bolt之间发送和接收数据的java源代码实例

    Storm中spout和bolt之间发送和接收数据的java源代码实例

    第一个Storm应用

    写第一个Storm应用--数单词数量(一个spout读取文本,第一个bolt用来标准化单词,第二个bolt为单词计数) 一、Storm运行模式: 1.本地模式(Local Mode): 即Topology(相当于一个任务,后续会详细讲解) 运行在本地...

    storm-cassandra:Storm Cassandra集成

    Storm Cassandra集成通过提供一个通用且可配置的backtype.storm.Bolt实现将Storm和Cassandra集成, backtype.storm.Bolt实现将Storm Tuple对象写入Cassandra Column Family。 如何将Storm Tuple数据写入Cassandra是...

    archive-bolt:可重复使用的Storm螺栓,用于将内容存储到s3

    存档螺栓可重复使用的Storm螺栓,用于将数据存档到文件。 当前支持存储到s3。变更记录v0.1.10 将文件写入S3时,将内容类型设置为application/json 。 v0.1.8 将对象写入S3不再使用临时文件。 v0.1.7 暴风雨版本升至...

    photon bolt网络插件

    photon bolt网络插件

    基于storm实时热点统计的分布式并行缓存预热

    这样的话,storm才能去消费kafka中的实时的访问日志,然后去进行缓存热数据的统计 用得技术方案非常简单,从lua脚本直接创建一个kafka producer,发送数据到kafka ``` wget ...

    WIN版 罗技新版BOLT 配对驱动

    WIN版 罗技新版BOLT 配对驱动

    storm 示例demo

    简单的storm入门示例,从0到1让你清楚的理解storm.下面是代码示例: import backtype.storm.topology.BasicOutputCollector; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.topology...

    Bolt 1.4.4.unitypackage

    这是一个第三方开发的Unity可视化编程插件的最新版本Bolt 1.4.4,如果你想做2019版Unity上安装Bolt,劝你还是选择这个1.4.4版本,之前的版本(测试过Bolt1.4.0)可能都会出现错误提示,如:Library\PackageCache\...

    Bolt1.2.3.unitypackage

    Bolt1.2.3,2018年最新的版本,可以完美运行在5.x版本和2017版本上面

    Storm Real-time Processing Cookbook实例代码

    Storm is a distributed, reliable, fault-tolerant system for ... You can imagine a Storm cluster as a chain of bolt components that each make some kind of transformation on the data exposed by the spout.

    BOLT引擎.chm

    bolt chm 帮助文档 官方只有网页版的。我把它制作为 windows的帮助文档

    Storm流计算项目:1号店电商实时数据分析系统-16.项目1-地区销售额-优化Bolt支持重启及结果数据核查.pptx

    01.Storm项目实战课程大纲 02.CDH5搭建之CM5安装部署 03.CDH5搭建和CM界面化集群管理 04.Hadoop、HBase、Zookeeper集群管理和角色分配 05.Kafka基础知识和集群搭建 06.Kafka基本操作和最优设置 07.Kafka Java API ...

    Getting Started with Storm

    Storm is a distributed, reliable, fault-tolerant system for ... You can imagine a Storm cluster as a chain of bolt components that each make some kind of transformation on the data exposed by the spout.

    storm demo

    代码参考传智播客课程编写,演示了如何使用storm的spout,bolt,Topology

    BOLT界面引擎库

    BOLT界面引擎库 HostWnd模块 Kernel Object 模块 UIObjects 模块

    Bolt 1.4.4.unitypackage_.zip

    这是一个第三方开发的Unity可视化编程插件的最新版本Bolt 1.4.4,如果你想做2019版Unity上安装Bolt,劝你还是选择这个1.4.4版本,之前的版本(测试过Bolt1.4.0)可能都会出现错误提示,如:Library\PackageCache\...

    迅雷bolt控件

    迅雷bolt引擎开发的界面库,编辑框,按钮,右键菜单实现文档实例包含代码。

Global site tag (gtag.js) - Google Analytics