storm中的元组(Tuple) 光环大数据培训

编辑:光环大数据 来源: 互联网 时间: 2017-12-21 17:32 阅读:

  光环大数据就业培训机构认为,元组(Tuple),是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象。Storm使用元组作为其数据模型,元组支持所有的基本类型、字符串和字节数组作为字段值,只要实现类型的序列化接口就可以使用该类型的对象。元组本来应该是一个key-value的Map,但是由于各个组件间传递的元组的字段名称已经事先定义好,所以只要按序把元组填入各个value即可,所以元组是一个value的List。

拓扑的每个节点必须声明emit(发射)的元组的输出字段。例如,下面的DoubleAndTripleBolt类在declareOutputFields方法中声明输出字段为["double","triple"]二元组。

[java]viewplaincopy

publicclassDoubleAndTripleBoltextendsBaseRichBolt{

privateOutputCollectorBase_collector;

@Override

publicvoidprepare(Mapconf,TopologyContextcontext,OutputCollectorBasecollector){

_collector=collector;

}

@Override

publicvoidexecute(Tupleinput){

intval=input.getInteger(0);

_collector.emit(input,newValues(val*2,val*3));

_collector.ack(input);

}

@Override

publicvoiddeclareOutputFields(OutputFieldsDeclarerdeclarer){

declarer.declare(newFields("double","triple"));

}

}

首先,在declareOutputFields方法中声明了输出为["double","triple"]的二元组。接着,在prepare方法中把OutputCollectorBase对象赋给私有成员变量_collector。最后,使用_collector发射元组,输出元组是一个二元组,第一个值为原值的2倍,第二个值为原值的3倍,并使用_collector的ack方法,保证消息处理,提供可靠性机制。

 

        大数据时代,storm培训,就选光环大数据!


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();