开发者社区> 问答> 正文

flinksql ttl为什么不生效?

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

展开
收起
moonlightdisco 2021-12-02 14:05:57 1486 0
1 条回答
写回答
取消 提交回答
  • checkpoint文件大小不断增加的原因是由于任务的状态不断累积导致的;所以如果任务状态很大的情况下,比如Group by 的字段过多等等,可以考虑开启增量state.backend.incremental,同时可以考虑任务的类型,如果任务是按天进行聚合指标的情况可以考虑设置状态过期清理时间idlestate.retention.time为一天等方式来防止chekcpoint保留状态数据的不断增加,或者增加速度过快导致任务的内存不够而被Kill掉;

    但是看您的描述,并不是设置State TTL不生效,而是要考虑状态时间戳的更新方式,因为状态时间戳被更新存在两种模式StateTtlConfig.UpdateType.OnCreateAndWrite - 只在创建和写的时候更新(默认),StateTtlConfig.UpdateType.OnReadAndWrite - 在读和写的时候更新,所以可以考虑您的任务情况采用哪种设定状态的更新模式;

    同时过期数据的清理策略和您设定的checkpoint保留是增量、全量或者增量RocksDB保留的策略都有关了,您可以综合考虑自己的checkpoint保留策略和任务类型合理设定状态过期清理时间idlestate.retention.time 和状态时间戳的更新方式以及任务的checkpoint的保留策略*来自志愿者整理的FLINK邮件归档

    2021-12-02 14:46:24
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载