Re: Flink sql 状态过期后,checkpoint 大小没变化
你好,我也遇到这个问题,flink 1.12.2 sql,想问下 1.有什么方式能本地物理上删除那些ttl过期的数据吗 2.有什么方式能checkpoint时候删除ttl过期的数据吗?让checkpoint数据不再继续增长? -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: Flink sql 状态过期后,checkpoint 大小没变化
你好,我也遇到这个问题,flink 1.12.2 sql,想问下 1.有什么方式能本地物理上删除那些ttl过期的数据吗 2.有什么方式能checkpoint时候删除ttl过期的数据吗?让checkpoint数据不再继续增长? -- Sent from: http://apache-flink.147419.n8.nabble.com/
Re: Flink sql 状态过期后,checkpoint 大小没变化
Hi 1. 目前没有全局的配置 2. 开启cleanFullSnapshot 并不会物理清除数据,只是确保checkpoint数据中没有相关过期数据 祝好 唐云 From: 孙啸龙 Sent: Thursday, January 14, 2021 20:43 To: user-zh@flink.apache.org Subject: Re: Flink sql 状态过期后,checkpoint 大小没变化 你好: 非常谢谢, 本地的数据是过期了。 不好意思,还有几个疑问想请教下。 1.看文档,开启cleanFullSnapshot是只能对单个状态设置吗,没查到flink sql 开启cleanFullSnapshot的配置的地方?因为只看到StateTtlConfig是对于单个状态的设置,没有对job或者对table的config设置。 2.cleanFullSnapshot 开启后,从checkpoint恢复才会触发清理,不是在checkpoint过程中触发清理掉过期数据? > 在 2021年1月14日,下午4:48,Yun Tang 写道: > > 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: 孙啸龙 > Sent: Thursday, January 14, 2021 16:11 > To: user-zh@flink.apache.org > Subject: Re: Flink sql 状态过期后,checkpoint 大小没变化 > > 你好: > 使用的state backend是rocksdb,没有开启增量,后续没有再插入过数据。 > >> 在 2021年1月14日,下午4:07,Yun Tang 写道: >> >> 使用的state backend,以及对应的checkpoint 类型是什么(是否开启incremental checkpoint)? >> >> 在一开始插入数据后,直到state TTL超过,期间均没有再插入数据过么?还是说一直在以一定的数据量在插入数据? >> >> >> 祝好 >> 唐云 >> >> From: 孙啸龙 >> Sent: Thursday, January 14, 2021 15:52 >> To: 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为什么没变小? >
Re: Flink sql 状态过期后,checkpoint 大小没变化
你好: 非常谢谢, 本地的数据是过期了。 不好意思,还有几个疑问想请教下。 1.看文档,开启cleanFullSnapshot是只能对单个状态设置吗,没查到flink sql 开启cleanFullSnapshot的配置的地方?因为只看到StateTtlConfig是对于单个状态的设置,没有对job或者对table的config设置。 2.cleanFullSnapshot 开启后,从checkpoint恢复才会触发清理,不是在checkpoint过程中触发清理掉过期数据? > 在 2021年1月14日,下午4:48,Yun Tang 写道: > > 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: 孙啸龙 > Sent: Thursday, January 14, 2021 16:11 > To: user-zh@flink.apache.org > Subject: Re: Flink sql 状态过期后,checkpoint 大小没变化 > > 你好: > 使用的state backend是rocksdb,没有开启增量,后续没有再插入过数据。 > >> 在 2021年1月14日,下午4:07,Yun Tang 写道: >> >> 使用的state backend,以及对应的checkpoint 类型是什么(是否开启incremental checkpoint)? >> >> 在一开始插入数据后,直到state TTL超过,期间均没有再插入数据过么?还是说一直在以一定的数据量在插入数据? >> >> >> 祝好 >> 唐云 >> >> From: 孙啸龙 >> Sent: Thursday, January 14, 2021 15:52 >> To: 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为什么没变小? >
Re: Flink sql 状态过期后,checkpoint 大小没变化
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: 孙啸龙 Sent: Thursday, January 14, 2021 16:11 To: user-zh@flink.apache.org Subject: Re: Flink sql 状态过期后,checkpoint 大小没变化 你好: 使用的state backend是rocksdb,没有开启增量,后续没有再插入过数据。 > 在 2021年1月14日,下午4:07,Yun Tang 写道: > > 使用的state backend,以及对应的checkpoint 类型是什么(是否开启incremental checkpoint)? > > 在一开始插入数据后,直到state TTL超过,期间均没有再插入数据过么?还是说一直在以一定的数据量在插入数据? > > > 祝好 > 唐云 > > From: 孙啸龙 > Sent: Thursday, January 14, 2021 15:52 > To: 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为什么没变小?
Re: Flink sql 状态过期后,checkpoint 大小没变化
你好: 使用的state backend是rocksdb,没有开启增量,后续没有再插入过数据。 > 在 2021年1月14日,下午4:07,Yun Tang 写道: > > 使用的state backend,以及对应的checkpoint 类型是什么(是否开启incremental checkpoint)? > > 在一开始插入数据后,直到state TTL超过,期间均没有再插入数据过么?还是说一直在以一定的数据量在插入数据? > > > 祝好 > 唐云 > > From: 孙啸龙 > Sent: Thursday, January 14, 2021 15:52 > To: 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为什么没变小?
Re: Flink sql 状态过期后,checkpoint 大小没变化
使用的state backend,以及对应的checkpoint 类型是什么(是否开启incremental checkpoint)? 在一开始插入数据后,直到state TTL超过,期间均没有再插入数据过么?还是说一直在以一定的数据量在插入数据? 祝好 唐云 From: 孙啸龙 Sent: Thursday, January 14, 2021 15:52 To: 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为什么没变小?