Flink State TTL 详解

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink State TTL 详解相关的知识,希望对你有一定的参考价值。

Flink 1.13 版本

在某些场景下 Flink 用户状态一直在无限增长,一些用例需要能够自动清理旧的状态。例如,作业中定义了超长的时间窗口,或者在动态表上应用了无限范围的 GROUP BY 语句。此外,目前开发人员需要自己完成 TTL 的临时实现,例如使用可能不节省存储空间的计时器服务。还有一个比较重要的点是一些法律法规也要求必须在有限时间内访问数据。

对于这些情况,旧版本的 Flink 并不能很好解决,因此 Apache Flink 1.6.0 版本引入了状态 TTL 特性。该特性可以让 Keyed 状态在一定时间内没有被使用下自动过期。如果配置了 TTL 并且状态已过期,那么会尽最大努力来清理过期状态。

1. 用法

可以在 Flink 官方文档中看到 State TTL 如下使用方式:

import org.apache.flink.api.common.state.StateTt

以上是关于Flink State TTL 详解的主要内容,如果未能解决你的问题,请参考以下文章

Flink State Time-To-Live (TTL)

Flink状态管理详解:Keyed State和Operator List State深度解析

Flink 状态 TTL 如何限制状态的生命周期

Flink 源码:Checkpoint 元数据详解

Flink1.12-四大基石详解

Apache Flink 管理大型状态之增量 Checkpoint 详解