我们有一个flink作业,该作业将在rocksdb后端中保留大键控状态。我们正在使用增量检查点策略。随着时间的流逝,状态的大小成为问题。我们已经检查了状态ttl解决方案,但它不支持增量rocksdb状态。
如果我真的需要增量检查点,什么是解决此问题的最佳方法?
答案 0 :(得分:0)
一种常用的方法是在某种ProcessFunction中操纵状态,并在不再需要状态时(例如,如果几个小时没有访问状态)使用计时器清除状态。 ProcessFunctions可以同时具有事件时间计时器和处理时间计时器,因此您可以选择更适合您的用例的一个。
有关使用计时器清除状态的示例,请参见Flink培训网站上的expiring state exercise。