《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非常感謝您的觀看