【发布时间】:2018-12-13 22:32:06
【问题描述】:
我们有一个 flink 作业,可以在 RocksDB 后端保持大的键控状态。我们正在使用增量检查点策略。随着时间的推移,国家的规模成为一个问题。我们检查了状态 ttl 解决方案,但它不支持增量 RocksDB 状态。
如果我真的需要增量检查点,解决这个问题的最佳方法是什么?
【问题讨论】:
标签: apache-flink flink-streaming
我们有一个 flink 作业,可以在 RocksDB 后端保持大的键控状态。我们正在使用增量检查点策略。随着时间的推移,国家的规模成为一个问题。我们检查了状态 ttl 解决方案,但它不支持增量 RocksDB 状态。
如果我真的需要增量检查点,解决这个问题的最佳方法是什么?
【问题讨论】:
标签: apache-flink flink-streaming
一种经常使用的方法是在某种 ProcessFunction 中操纵状态,并在不再需要状态时使用计时器来清除状态 - 例如,如果几个小时没有访问它。 ProcessFunctions 能够同时具有事件时间和处理时间计时器,因此您可以选择更适合您的用例。
有关使用计时器清除状态的示例,请参阅 Flink 培训网站上的 expiring state exercise。
【讨论】: