java list利用storm 填值
时间: 2023-04-12 19:01:51 浏览: 71
可以使用以下代码:
```java
import backtype.storm.tuple.Tuple;
import java.util.List;
import java.util.ArrayList;
public class ListBolt extends BaseRichBolt {
private OutputCollector collector;
private List<String> list;
@Override
public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
this.collector = collector;
this.list = new ArrayList<String>();
}
@Override
public void execute(Tuple tuple) {
String value = tuple.getString(0);
list.add(value);
collector.ack(tuple);
}
@Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
// This bolt does not emit anything
}
}
```
这是一个简单的 Storm bolt,它将从上游接收到的字符串添加到一个列表中。在 `prepare` 方法中,我们初始化了一个空列表。在 `execute` 方法中,我们从元组中获取字符串值,并将其添加到列表中。最后,我们调用 `ack` 方法来确认元组已经被处理。