其想法是实施 KeySelector
它将其输入对象Map到特定的分区键,但该键可以随时间而更改。Map规则可以保存在数据库中 KeySelector
会定期或按需更新。
我不确定这是否会给flink的状态或流分区机制带来问题。例如,如果输入 Foo
最初被Map到分区键0,但后来更改为分区键1,并且键0不再使用,flink会在某个时候简单地“忘记”键0吗?
小Kotlin的例子。
其想法是实施 KeySelector
它将其输入对象Map到特定的分区键,但该键可以随时间而更改。Map规则可以保存在数据库中 KeySelector
会定期或按需更新。
我不确定这是否会给flink的状态或流分区机制带来问题。例如,如果输入 Foo
最初被Map到分区键0,但后来更改为分区键1,并且键0不再使用,flink会在某个时候简单地“忘记”键0吗?
小Kotlin的例子。
1条答案
按热度按时间pkwftd7m1#
不,我无法想象这是怎么回事。flink依赖于keyselector的确定性。如果您像这样更改密钥,那么任何密钥分区状态都将完全混淆。
但是,您可以安排flink放弃旧密钥的状态。请参阅statettlconfig。