这个想法是实现一个将其输入对象映射到特定分区键的KeySelector
,但是这个键会随着时间的推移而改变。映射规则可以保存在数据库中,KeySelector
将定期或按需更新它们。
我不确定这是否会给 Flink 的状态或流分区机制带来问题。例如,如果输入Foo
最初映射到分区键 0,但后来对分区键 1 的更改,并且不再使用键 0,Flink 会在某个时候简单地"忘记"键 0 吗?
小科特林的例子。
不,我无法想象这是如何工作的。Flink 依赖于确定性的 KeySelectors。如果像这样更改键,则任何键分区状态都将完全混淆。
但是,您可以安排 Flink 丢弃过时密钥的状态。请参阅StateTtlConfig。