目录


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

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

2)和 state 索引的对比:
(1)bucket index 没有 state 的存储计算开销,性能较好
(2)bucket index 无法扩 buckets,state index 则可以依据文件的大小动态扩容
(3)bucket index 不支持跨 partition 的变更(如果输入是 cdc 流则没有这个限制),state index 没有限制

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐