Re: Flink sql 状态过期后,checkpoint 大小没变化

2021-06-07 文章 chenchencc
你好,我也遇到这个问题,flink 1.12.2 sql,想问下
1.有什么方式能本地物理上删除那些ttl过期的数据吗
2.有什么方式能checkpoint时候删除ttl过期的数据吗?让checkpoint数据不再继续增长?



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Flink sql 状态过期后,checkpoint 大小没变化

2021-06-07 文章 chenchencc
你好,我也遇到这个问题,flink 1.12.2 sql,想问下
1.有什么方式能本地物理上删除那些ttl过期的数据吗
2.有什么方式能checkpoint时候删除ttl过期的数据吗?让checkpoint数据不再继续增长?



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Flink sql 状态过期后,checkpoint 大小没变化

2021-01-14 文章 Yun Tang
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 大小没变化

2021-01-14 文章 孙啸龙
你好:
非常谢谢,
本地的数据是过期了。
不好意思,还有几个疑问想请教下。
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 大小没变化

2021-01-14 文章 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 大小没变化

2021-01-14 文章 孙啸龙
你好:
 使用的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 大小没变化

2021-01-14 文章 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为什么没变小?