flink窗口操作符中是否共享不同键的状态?

kmbjn2e3  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(522)

例如,一个windowoperator有10个并行,有1000个不同的键,那么每个并行将处理100个键,这100个键的状态是共享的还是隔离的?

p8h8hvxi

p8h8hvxi1#

在大多数情况下,在整个flink中,不同密钥的状态是隔离的。这样做是有意的,以便在重新缩放集群时可以重新硬化状态。
在一个 KeyedProcessFunction ,或在 ProcessWindowFunction 对于键控窗口,无论何时访问或更新状态,上下文中都隐含一个键。如果是 KeyedProcessFunction 这是正在处理的事件或计时器的键;如果是 ProcessWindowFunction 它是与提供的iterable中的事件相关联的键。执行的任何状态访问或更新都将限定到这一个键。无法访问或修改与其他密钥关联的状态。

相关问题