Flink是否可以处理其返回键随时间变化的键选择器功能?

时间:2019-06-03 07:56:37

标签: apache-flink

这个想法是实现一个KeySelector,将其输入对象映射到特定的分区键, 但是此密钥会随着时间而改变。 映射规则可以保存在例如数据库中, 并且KeySelector会定期或按需更新它们。

我不确定这是否会导致Flink的状态或流分区机制出现问题。 例如,如果最初将输入Foo映射到分区键0, 但后来更改为分区键1 并且键0不再使用, Flink会在某个时候简单地“忘记”键0吗?

Small Kotlin example.

1 个答案:

答案 0 :(得分:2)

不,我无法想象它如何工作。 Flink取决于确定性的KeySelector。如果您这样更改键,则任何键分区状态都将完全混乱。

但是,您可以安排Flink放弃旧密钥的状态。参见StateTtlConfig