您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Storm学习10---tuple 结构

宝哥大数据 发布时间:2017-03-13 22:32:37 ,浏览量:0

Storm中的数据结构类型为Tuple

官方解释: “A tuple is a named of values where each value can be any type.” tuple是一个类似于列表的东西,存储的每个元素叫做field(字段),可以是任何类型。 Storm使用tuple作为它的数据模型, 每个tuple是一堆值,每个值都有一个名字, 一个Tuple代表数据流中的一个基本处理单元,例如:一条cookie日志,他可以包含多个Field, 每个Field表示一个属性。 这里写图片描述

Tuple本应该是一个Key-Value的Map, 由于各个组件之间的传递的tuple字段名称已经实现预定好了, 所以Tuple只需要按序填入各个Value,所以就是一个Value List。

一个没有边界、源源不断的Tuple序列就组成了Stream。 这里写图片描述 topology里面的每个节点,必须定义它要发射的Tuple的每个字段,必须下面这个bolt定义它所发射的tuple包含两个字段,类型分别为double,triple。

public class DoubleAndTripleBolt implements IRichBolt {
    private OutputCollector _collector;
    @Override
    public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
        _collector = collector;
    }
    @Override
    public voide xecute(Tuple input) {
        int val = input.getInteger(0);
        _collector.emit(input,new Values(val*2, val*3));
        _collector.ack(input);
    }
    @Override
    public void cleanup() {
    }
    @Override
    public void declareOutputFields(OutputFieldsDeclarer declarer) {
        declarer.declare(newFields("double","triple"));
    }
}

declareOutputFields方法定义要输出的字段 : [“double”, “triple”]。

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0400s