开发者社区> 问答> 正文

DataStream的state问题

想问下,在给state设置ttl的时候,如下面的代码:                    StateTtlConfig ttlConfig = StateTtlConfig

                            .newBuilder(Time.days(1))

                            .setUpdateType(StateTtlConfig.UpdateType.OnCreateAndWrite)

                            .setStateVisibility(StateTtlConfig.StateVisibility.NeverReturnExpired)

                            .build();

设置了1天时间之后失效,例如2020-07-07 08:30:00点开始的job,那失效时间是这个时间段2020-07-07 00:00:00~2020-07-07 23:59:59,还是job上线之后,2020-07-07 08:30:00~2020-07-08 08:30:00这个时间段?

*来自志愿者整理的flink邮件归档

展开
收起
小阿矿 2021-12-07 15:18:36 1760 0
1 条回答
写回答
取消 提交回答
  • 是最后一次 access 的时间到当前的时间超过了你设置的 ttl 间隔,比如你配置的是 OnCreateAndWrite

    那么就是创建和写操作之后的 1 天,这个 state 会变成 expired,具体的可以参考文档[1]

    [1]

    https://ci.apache.org/projects/flink/flink-docs-release-1.10/zh/dev/stream/state/state.html#%E7%8A%B6%E6%80%81%E6%9C%89%E6%95%88%E6%9C%9F-ttl*来自志愿者整理的flink邮件归档

    2021-12-07 16:29:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载