flink state ttl

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();

官方TTL(TimeToLive)

你可能感兴趣的:(flink)