gpt4 book ai didi

java - Storm Bolt 中跨任务的变量

转载 作者:行者123 更新时间:2023-11-30 03:15:09 24 4
gpt4 key购买 nike

字段分组可以将具有某些字段的元组定向到同一任务。一个执行器可以包含多个任务。

如果我声明一个带有私有(private)变量整数的bolt来计算元组。

public static class CountBolt implements IRichBolt {
OutputCollector _collector;
private int count;

public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
_collector = collector;
count = 0;
}

public void execute(Tuple tuple) {
count = count + 1;
_collector.ack(tuple);
}

public void cleanup() {
}

public void declareOutputFields(OutputFieldsDeclarer declarer) {
}

public Map getComponentConfiguration() {
return null;
}
}

此计数是否显示同一任务或同一执行器的输入总数?

最佳答案

计数将按每个任务进行。每个任务都有自己的 Spout/Bolt 类实例。

如果变量被声明为静态,则它将针对每个工作人员。 (不是每个执行器,因为一个工作线程可能运行同一个 Spout/Bolt 的多个执行器。)

关于java - Storm Bolt 中跨任务的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32821060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com