gpt4 book ai didi

java - Storm : How to pass String Array from one bolt to another?

转载 作者:搜寻专家 更新时间:2023-11-01 02:06:03 27 4
gpt4 key购买 nike

这就是我发送数据的方式

collector.emit("stream", new Values(sessionid,tables));

在哪里sessionidtablesArrayList<String>

我不确定将接收数据的 bolt 将如何获取数据,因为我没有找到任何东西来获取 Tuple 中的值。

这就是我接收 bolt 的执行方法的样子。

public void execute(Tuple input, BasicOutputCollector collector) {
ArrayList<String> keyspace = input./*What to add here*/(0);
ArrayList<String> table = input./*What to add here*/(1);
}

或者,我正在考虑合并 ArrayList 的值在逗号分隔的字符串中并将其作为字符串传递,然后将其拆分并保存在 ArrayList 中在接收 bolt 中。

但是,有什么干净的方法可以传递 ArrayList到 Storm bolt ?

最佳答案

您可以毫无问题地传递 ArrayList。您只需要使用 Tuple.getValue(int)(或 Tuple.getValueByField(String))并转换为正确的类型:

public void execute(Tuple input, BasicOutputCollector collector) {
ArrayList<String> keyspace = (ArrayList<String>)input.getValue(0);
ArrayList<String> table = (ArrayList<String>)input.getValue(1);
}

关于java - Storm : How to pass String Array from one bolt to another?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881218/

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