数据湖三剑客:Delta Lake、Hudi 与 Iceberg 详解 | 青训营笔记

187 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的第14天

数据湖三剑客:Delta Lake、Hudi 与 Iceberg 详解

01.发展历史

1.1数据湖发展阶段-Hadoop

       好处:灵活共享存储

       坏处:没有记录文件的schema,经常使用的Schema on Query的方式

       难以得知数据集包含了哪些文件

       多个程序都在这修改,难于管理

1.2数据湖发展阶段2-Hive

       改进:对数据集进行集中定义

       问题:不可重复读、读脏数据、不可单独删一列

1.3数据湖发展阶段3-湖仓一体

什么是数据仓库:

数据仓库将数据从数据源提取和转换,加载到目的地、数据仓库存储+计算不分离、数据仓库严格控制写入数据的schema

image.png

湖仓一体:二者结合,将数据仓库对数据的严格管理实现到低成本的分布式存储上

特点:ACID、schema管理、存储计算分离、支持多种计算引擎

1.4业界三大数据湖

Hudi、Iceberg、Delta Lake

1.5关于“数据湖“

相关概念有点新,处于演进

02.核心技术

2.1文件结构

image.png

2.2Time travel

image.png

2.3Transaction事务ACID

2.4Schema Evolution

image.png

03.各有所长

Iceberg:

3.1.1Well-designed Metadata layer

image.png

3.1.2Data File Filter

image.png

3.1.3Hidden Partition

image.png

3.2Hudi(Hadoop Upsert Delete and Incremental)

image.png

3.2.1Timeline Serivce&Upsert&Incremental

image.png

3.2.2Copy on Write

image.png

3.2.3Merge On Read

image.png

3.3Delta Lake工作重点

image.png