这是我参与「第四届青训营 」笔记创作活动的第14天
数据湖三剑客:Delta Lake、Hudi 与 Iceberg 详解
01.发展历史
1.1数据湖发展阶段-Hadoop
好处:灵活共享存储
坏处:没有记录文件的schema,经常使用的Schema on Query的方式
难以得知数据集包含了哪些文件
多个程序都在这修改,难于管理
1.2数据湖发展阶段2-Hive
改进:对数据集进行集中定义
问题:不可重复读、读脏数据、不可单独删一列
1.3数据湖发展阶段3-湖仓一体
什么是数据仓库:
数据仓库将数据从数据源提取和转换,加载到目的地、数据仓库存储+计算不分离、数据仓库严格控制写入数据的schema
湖仓一体:二者结合,将数据仓库对数据的严格管理实现到低成本的分布式存储上
特点:ACID、schema管理、存储计算分离、支持多种计算引擎
1.4业界三大数据湖
Hudi、Iceberg、Delta Lake
1.5关于“数据湖“
相关概念有点新,处于演进
02.核心技术
2.1文件结构
2.2Time travel
2.3Transaction事务ACID
2.4Schema Evolution
03.各有所长
Iceberg:
3.1.1Well-designed Metadata layer
3.1.2Data File Filter
3.1.3Hidden Partition
3.2Hudi(Hadoop Upsert Delete and Incremental)
3.2.1Timeline Serivce&Upsert&Incremental
3.2.2Copy on Write
3.2.3Merge On Read
3.3Delta Lake工作重点