《3-1 字节跳动数据湖索引演进.pdf》由会员分享,可在线阅读,更多相关《3-1 字节跳动数据湖索引演进.pdf(30页珍藏版)》请在三个皮匠报告上搜索。
1、字节跳动数据湖索引演进耿筱喻 字节跳动数据平台大数据工程师01HUDI索引介绍索引介绍02问题与挑战问题与挑战03字节数据湖索引演进字节数据湖索引演进04未来规划未来规划目录目录CONTENTHUDI 索引介绍01传统数仓数据更新在传统 Hive 数仓的场景下,数据更新方式为:增量 Join 全量-覆盖历史分区读全部文件更新全部文件JoinHudi 索引作用更新数据可以快速被定位到对应的 File Group避免读取不必要文件避免更新不必要文件全局 Join-Local JoinHudi 索引类型问题与挑战02数据入湖的业务场景实时 Upsert小时/天级批量 BackFill(Upsert)
2、数据入湖的业务场景单分区 40000 个File Group30 TB 数据量5 千亿条记录数Bloom Filter 性能非常差,入湖速度慢Hudi 索引类型字节数据湖索引演进03Bucket Index 基本原理一种基于哈希的索引逻辑层面提供 Key BucketId File GroupId 的映射关系Bucket Index 写入流程Bucket Index 分区级 BucketBucket Index 查询优化Case1:表 T1/2 按A列分桶,AB 列(超集)JoinCase2:表 T1按A列分桶,A列 JoinBucket Index 查询优化 Coalesce分桶数与 Shu
3、ffle 并行度成倍数关系分桶数 Shuffle 并行度Bucket Index 查询优化 Bucket Pruning点查列=分桶列查全部文件 查单个文件Bucket Index-Extensible Bucket IndexBucket Index 可扩展性差?Bucket Index-Extensible Bucket Index您公司的logo|Extensible Bucket Index 基础原理Extensible Bucket Index 基础原理Non Index 非主键入湖比如:日志入湖特点:UUID-No IndexUpsert-Insert/AppendNon Inde
4、x 非主键入湖现有的索引体系必须要 Locate+数据重新分布Non Index 非主键入湖您公司的logo|未来规划04未来规划 二级索引目标:提升非主键列点查性能基于二级索引列构造 Bloom Filter+Multi-Modal Index支持初始索引异步构建支持事务更新未来规划 Range Index目标:提升点查/范围查询性能社区工作Bucket Index0.11Hudi Metastore RFC-36 0.12/1.0Table Management Service RFC-43 0.12/1.0Decouple Avro RFC-46 0.12Embedded Timeline Server RFC-50 1.0Flink 支持 Cluster 0.12NonIndex HUDI-2624非常感谢您的观看