我有一个拓扑来源kafka的元组。
拓扑看起来大致如此。
topology.newStream("kafkaSpout", spout)
.shuffle()
.each(new Fields("str"), new Filter())
.parallelismHint(5)
.each(new Fields("str"), new Function(),
new Fields("some fields"))
.parallelismHint(5)
.partitionBy(new Fields("some field"))
.partitionAggregate(new Fields("some fields"),
new SomeAggregator(),
new Fields(""some fields""))
.parallelismHint(5)
.partitionPersist(new StateFactory(),
new Fields("some filed"),
new StateUpdater());
从文档中我理解的是,在聚合器中,为每个元组调用聚合方法,在处理完所有元组时调用complete方法。
我已将调试sysout放在init和aggregate方法中。 当我启动拓扑时,我可以看到来自init和aggregate方法的连续sysout。 这种行为有望吗? (请注意,Kafka中没有数据)