Hudi系列20: Bucket索引

2023-05-16  本文已影响0人  只是甲

一. Bucket 索引概述

从 0.11 开始支持
默认的flink 流式 写入使用 state 存储索引信息: primary key 到 fileID 的映射关系。 当数据量比较大的时候, state的存储开销可能成为瓶颈, bucket 索引通过固定的 hash 策略, 将相同 key 的数据分配到同一个 fileGroup 中,避免了索引的存储和查询开销。

1.1 WITH参数

名称 Required 默认值 说明
index.type false FLINK STATE 设置 BUCKET 开启 Bucket索引功能
hoodie.bucket.index.hash.fileID false 主键 可以设置成主键的子集
hoodie.bucket.index.num.buckets false 4 默认每个partition 的 bucket 数,当前设置后则不可再变更

1.2 和 state 索引的对比

  1. bucket index没有 state 的存储计算开销, 性能较好
  2. bucket index 无法扩 buckets, state index 则可以根据文件的大小动态扩容
  3. bucket index 不支持跨 partition 的变更(如果输入是 cdc 流则没有这个限制),state index 没有限制。
上一篇 下一篇

猜你喜欢

热点阅读