是否可以用操作员状态模拟键控状态?

时间:2020-04-08 07:11:55

标签: apache-flink

只是为了实验和学习。假设我们有一个 使用键控状态的键控流程函数,我们想使用 操作员状态。问题是,是否有可能保持准确 同样的行为?例如,可以使用运算符联合列表状态和 然后设置一个计时器以自动删除给定范围内未使用的状态 时间...可能会起作用,但我宁愿选择一种方法来了解 联合列表的元素声明要在恢复/还原后立即使用, 根据当前操作员的键集,丢弃其他键 实例已分配。有可能做到这一点吗?

1 个答案:

答案 0 :(得分:1)

从理论上讲,是的,我认为这在一定程度上是可能的。您将不得不放弃所有需要KeyedStream的东西,例如计时器和RocksDB状态后端。这样会影响性能。

关于确定哪些密钥组(最终是哪些密钥)由特定实例处理的问题,请参阅以下邮件列表线程:

How can I find out which key group belongs to which subtask
Use keyBy to deterministically hash each record to a processor/task/slot