你好: 非常谢谢, 本地的数据是过期了。 不好意思,还有几个疑问想请教下。 1.看文档,开启cleanFullSnapshot是只能对单个状态设置吗,没查到flink sql 开启cleanFullSnapshot的配置的地方?因为只看到StateTtlConfig是对于单个状态的设置,没有对job或者对table的config设置。 2.cleanFullSnapshot 开启后,从checkpoint恢复才会触发清理,不是在checkpoint过程中触发清理掉过期数据?
> 在 2021年1月14日,下午4:48,Yun Tang <myas...@live.com> 写道: > > Hi, > > 你本地的数据肯定是过期了,checkpoint > size没有变化是因为你的数据总量83MB,且之后没有插入新数据,导致没有触发RocksDB的compaction,所以本地的数据没有物理上清理,而在full > snapshot时候,估计你并没有开启cleanFullSnapshot [1],所以导致full snapshot时候并没有删除掉过期数据。 > > 其实你可以查询一下状态,默认情况下,已经过期的数据是无法再查询到了。 > > 建议开启增量checkpoint即可,过期数据即使物理不删除,也因为过期而无法再读取到了,没必要过分关注UI上的checkpoint size。 > > > [1] > https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/state.html#cleanup-in-full-snapshot > > 祝好 > 唐云 > ________________________________ > From: 孙啸龙 <sun_fl...@126.com> > Sent: Thursday, January 14, 2021 16:11 > To: user-zh@flink.apache.org <user-zh@flink.apache.org> > Subject: Re: Flink sql 状态过期后,checkpoint 大小没变化 > > 你好: > 使用的state backend是rocksdb,没有开启增量,后续没有再插入过数据。 > >> 在 2021年1月14日,下午4:07,Yun Tang <myas...@live.com> 写道: >> >> 使用的state backend,以及对应的checkpoint 类型是什么(是否开启incremental checkpoint)? >> >> 在一开始插入数据后,直到state TTL超过,期间均没有再插入数据过么?还是说一直在以一定的数据量在插入数据? >> >> >> 祝好 >> 唐云 >> ________________________________ >> From: 孙啸龙 <sun_fl...@126.com> >> Sent: Thursday, January 14, 2021 15:52 >> To: user-zh@flink.apache.org <user-zh@flink.apache.org> >> Subject: Flink sql 状态过期后,checkpoint 大小没变化 >> >> 大家好: >> 版本:1.12.0 >> 方式:flink sql >> 测试sql: >> select a.id,b.money,b.createTime from test_state_from a >> full join test_state_from1 b on a.id=b.id; >> 问题: >> test_state_from和test_state_from1 分别插入50万条数据,查看 checkpoint 大小为83m,state >> ttl 设 置为16分钟,30分钟后查看checkpoint的值还是83m,状态过期清理后的checkpoint为什么没变小? >