gpt4 book ai didi

java - 尽管mapWithState中的元素相同,但为什么所有元素都被打印

转载 作者:行者123 更新时间:2023-12-02 03:31:01 25 4
gpt4 key购买 nike

我将同一个对象发送到 JavaPairDStream 3 次。我正在更新它的状态,但它已保存 3 次。打印 JavaPairDStream 证实了这一点。

Function3<InputMessageKey, Optional<InputMessage>, State<InputMessage>, Tuple2<InputMessageKey, InputMessage>> mappingFunction = new Function3<InputMessageKey, Optional<InputMessage>, State<InputMessage>, Tuple2<InputMessageKey, InputMessage>>() {
@Override
public Tuple2<InputMessageKey, InputMessage> call(InputMessageKey key, Optional<InputMessage> value, State<InputMessage> state) {
InputMessage inputMessage = value.get();
Tuple2<InputMessageKey, InputMessage> output = new Tuple2<>(key, inputMessage);
state.update(inputMessage);
return output;
}
};

打印流:

(com.input.InputMessageKey@220593a0,com.input.InputMessage@781bfd72)
(com.input.InputMessageKey@220593a0,com.input.InputMessage@781bfd72)
(com.input.InputMessageKey@220593a0,com.input.InputMessage@781bfd72)

最佳答案

没有保存3次。您将返回在函数末尾创建的 Tuple2 对象,这就是打印出来的内容。如果您想查看保存的内部状态,请使用 JavaMapWithStateDStream.stateSnapshots在您的图表中,而不是迭代 mapWithState 的输出。

关于java - 尽管mapWithState中的元素相同,但为什么所有元素都被打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094913/

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