Flink 的state管理(2) -Flink State的TTL

Flink在实时计算中遇到状态积累问题可能导致作业崩溃。从1.6版本开始,引入State TTL来自动处理超时状态。文章介绍了State TTL的使用方法,包括StateTtlConfig参数和清除策略,如在全量快照清理、增量清理和RocksDB压缩时的清理。
摘要由CSDN通过智能技术生成

Flink state 的 TTL

  1. 概述:flink进行实时计算中,会遇到一些状态不断累积,导致状态越来越大的情况。例如:作业中定义了超长的时间窗口,或者在动态表上应用了无限范围的Group By语句,以及执行了没有时间窗口限制的双流join等操作。对于这些情况,经常导致堆内存出现OOM,或者堆外内存RocksDB用量持续增长超出容器配额的上线,造成作业频繁的崩溃。从Flink 1.6版本开始引入State TTL机制,该特性可以允许作业中定义的keyed状态进行超时自动处理,对于TableAPI和SQL模块引入空闲状态保留时间(Idle State Retention Time) 进行状态管理
  2. Flink State TTL使用方法:
StateTtlConfig ttlConfig = StateTtlConfig.newBuilder(Time.Seconds(1))
.setUpdateType(StateTtlConfig.UpdateType.OnCreateAndWrite)
.setStateVisib
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值