With Storm Spouts, when is declareOutputFields( ) called?

本文详细解释了Apache Storm中Spout或Bolt组件的声明周期,重点介绍了IComponent.declareOutputFields方法的作用及其调用时机,并说明了此方法与Spout或Bolt其他生命周期方法的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The method IComponent.declareOutputFields(...) is called on the client machine when the client code calls createTopology() on the TopologyBuilder instance. Please look at the line 226 in the TopologyBuilder.java where this method gets called on the Spout or Bolt component(s).

The callback method IComponent.declareOutputFields(...) is part of the topology life cycle rather part of the Spout or Bolt life cycle. To answer your question, this method gets called before open()method.

The output fields should be declared in the declareOutputFields() method so that Storm serializes the Spout/Bolt object(s) including the configurations and output fields. The serialized instances of Spout/Bolt are then submitted to the Storm cluster after which the other life cycle methods (activate()open(), etc.) of Spout/Bolt are called.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值