flink:可以在x时间之后删除可查询状态吗?

rvpgvaaj  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(397)

在我的例子中,我只使用flink的可查询状态。特别是,我不关心检查站。
在发生事件时,我只在最多x分钟后查询可查询状态。理想情况下,我会删除“旧”状态以节省空间。
这就是为什么我想知道:我能给Flink的状态发信号,让它在一段时间后自行清除吗?通过配置?通过特定的事件信号?怎样?

qf9go6mv

qf9go6mv1#

清除状态的一种方法是显式调用 clear() 在状态对象(例如,valuestate对象)上,当您不再需要它作为特定键时。这通常是在 onTimer() 在a中回调 ProcessFunction .
另一种可能的方法是使用状态生存时间来管理其生命周期。
我还没有尝试将state ttl与queryable state一起使用,但是我看不出它不起作用的任何原因。但是,从flink1.7开始,statettl实际上只在访问状态(对于某个键)或拍摄完整状态快照时清除状态(对于该键)。所以在您的特定情况下,这种状态ttl机制可能不是很有用。

相关问题