一. 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 没有限制。
最后修改时间:2023-05-17 09:39:09
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




