求助:实时计算累计UV时,为什么使用MapState和BloomFilter,在checkpoint时的状态大小没有差异

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

求助:实时计算累计UV时,为什么使用MapState和BloomFilter,在checkpoint时的状态大小没有差异

x_gothicist
实时计算累计UV时,为什么使用MapState的方式和使用BloomFilter的方式,checkpoint时的状态大小没有差异,感觉bloom应该会比MapState小很多才对啊
Reply | Threaded
Open this post in threaded view
|

Re: 求助:实时计算累计UV时,为什么使用MapState和BloomFilter,在checkpoint时的状态大小没有差异

Congxian Qiu
Hi
    Checkpoint 的 size 取决于 state 的大小(如果是 RocksDBStateBackend + 增量
checkpoint,界面看到的 Checkpointed Data Size 是增量大小[1])。如果你把 BloomFilter 存到 State
中的话,那么需要看看最终在 State 中存储的内容大小。
    如果有疑问的话,可以分析一下分别使用 bloomfilter 和 mapstate,在相同的数据更新后,state 中的数据分别有多少

[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/ops/state/state_backends.html#%E5%A2%9E%E9%87%8F%E5%BF%AB%E7%85%A7
Best,
Congxian


x <[hidden email]> 于2020年8月27日周四 下午1:48写道:

>
> 实时计算累计UV时,为什么使用MapState的方式和使用BloomFilter的方式,checkpoint时的状态大小没有差异,感觉bloom应该会比MapState小很多才对啊
Reply | Threaded
Open this post in threaded view
|

Re: 求助:实时计算累计UV时,为什么使用MapState和BloomFilter,在checkpoint时的状态大小没有差异

Yichao Yang
Hi,


如果是Long类型uv,可以尝试使用 RoaringBitMap做精确去重,参考[1]


[1]&nbsp;https://mp.weixin.qq.com/s/jV0XmFxXFnzbg7kcKiiDbA


Best,
Yichao Yang




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <[hidden email]&gt;;
发送时间:&nbsp;2020年8月27日(星期四) 晚上9:26
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;Re: 求助:实时计算累计UV时,为什么使用MapState和BloomFilter,在checkpoint时的状态大小没有差异



Hi
&nbsp;&nbsp;&nbsp; Checkpoint 的 size 取决于 state 的大小(如果是 RocksDBStateBackend + 增量
checkpoint,界面看到的 Checkpointed Data Size 是增量大小[1])。如果你把 BloomFilter 存到 State
中的话,那么需要看看最终在 State 中存储的内容大小。
&nbsp;&nbsp;&nbsp; 如果有疑问的话,可以分析一下分别使用 bloomfilter 和 mapstate,在相同的数据更新后,state 中的数据分别有多少

[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/ops/state/state_backends.html#%E5%A2%9E%E9%87%8F%E5%BF%AB%E7%85%A7
Best,
Congxian


x <[hidden email]&gt; 于2020年8月27日周四 下午1:48写道:

&gt;
&gt; 实时计算累计UV时,为什么使用MapState的方式和使用BloomFilter的方式,checkpoint时的状态大小没有差异,感觉bloom应该会比MapState小很多才对啊