BaseBasicBolt和BaseRichBolt的区别

本文详细解析了Storm框架下BaseBasicBolt与BaseRichBolt的主要区别。BaseBasicBolt在数据发射时自动关联输入tuple,并在execute方法结束后自动ack;而BaseRichBolt需显式指定数据源tuple并手动调用ack或fail方法。

BaseBasicBolt和BaseRichBolt的区别


  Storm的Bolt有BaseBasicBoltBaseRichBolt
  BaseRichBolt中,BasicOutputCollector在emit数据的时候,需要显示指定该数据的源tuple要加上第二个参数anchor tuple,以保持tracker链路。即collector.emit(oldTuple, newTuple)。并且需要在execute执行成功后调用OutputCollector.ack(tuple), 当失败处理时,执行OutputCollector.fail(tuple)。
  BaseBasicBolt中,BasicOutputCollector在emit数据的时候,会自动和输入的tuple相关联,而在execute方法结束的时候那个输入tuple会被自动ack。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值