多个窗口流之间的MapState值



我有一个用例,我在多个流中聚合同一个键上的值,如下所示:

输入->窗口(15秒(->窗口(1分钟(->窗口(15分钟(->。。->out_1->out_2->out_3

在所有的窗口中,我有一个单独的KeyedProcessFunction,它对所有三个流都有一个MapState,然而,在创建MapStateDescriptor时,我对所有实例都使用相同的名称,比如:

MapStateDescriptor<长,浮动>试验=new MapStateDescriptor<gt;(">测试",Long.class,SomeObject.class(;

假定所有三个流都具有它们操作的相同密钥,则映射状态将在流之间共享,因为它在MapStateDescriptor<gt;(">测试"、Long.class、SomeObject.class(,或者它对于每个流都是唯一的

在这种情况下,我应该保持不同的名字吗?

State的作用域始终是使用它的函数/运算符。它不能与其他功能/操作员共享或从其他功能/运算符访问。所以你所做的一切都很好。

相关内容

  • 没有找到相关文章

最新更新