开发者社区> 问答> 正文

实时计算累计UV时为什么使用MapState和BloomFilter,在checkpoint时出问题

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 *来自志愿者整理的flink邮件归档

展开
收起
游客sadna6pkvqnz6 2021-12-07 16:46:12 612 0
1 条回答
写回答
取消 提交回答
  • 如果是Long类型uv,可以尝试使用 RoaringBitMap做精确去重*来自志愿者整理的flink

    2021-12-07 20:18:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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