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