flink ttl类型
本文用的flink1.7,一般来说ttl用在keyedStream中,官网只介绍了keyed
flink ttl用法
import org.apache.flink.api.common.state.StateTtlConfig;
import org.apache.flink.api.common.state.ValueStateDescriptor;
import org.apache.flink.api.common.time.Time;
StateTtlConfig ttlConfig = StateTtlConfig
//
.newBuilder(Time.seconds(1))
// 设置更新类型
// 1.state不过期Disabled
// 2.当更新和创建state时,用最后一次时间;OnCreateAndWrite
// 3.和2一样,在加上读的时候;OnReadAndWrite
.setUpdateType(StateTtlConfig.UpdateType.OnCreateAndWrite)
// 过期数据还要不要:
// 1.没清理就要ReturnExpiredIfNotCleanedUp
// 2.不要NeverReturnExpired
.setStateVisibility(StateTtlConfig.StateVisibility.NeverReturnExpired)
//
.cleanupFullSnapshot()
.build();