发送系统级别的Tuple

一、通过发送系统级别的Tuple进行计算该时间段的数据

设置发送系统级别tuple的时间间隔

        Config conf = new Config();
        //设置定时发送系统级别的tuple.
        conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 5);      

这样每个Bolt在设置的时间间隔都会收到一个系统级别的tuple,我们对这个tuple进行判断, 接收到了,就表示时间间隔到了, 我们可以将这个时间间隔内统计的数据做相应的操作(入库)。

这里写图片描述

但是, 肯定不是这个好的, 一定有问题,是的, 它是向所有的Bolt发送系统级别的tuple, 我们需要对所有的Bolt进行系统级别tuple的处理。

二、该进: 不在创建Builder设置发送间隔,而是哪个Bolt需要设置的时候, 重写一个getComponentConfiguration()

        @Override
        public Map<String, Object> getComponentConfiguration() {
            Map<String, Object> conf = new HashMap<String, Object>();
            conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 5);;
            return conf;
        }

猜你喜欢

转载自blog.csdn.net/wuxintdrh/article/details/80836202