这是我参与「第四届青训营」笔记创作的第7天
Delta Lake、Hudi与Iceburg详解
- 发展历史
1.1数据湖发展阶段-Hadoop坏处:
- 没有记录文件的schema
- 难以得知数据集包含哪些文件,是如何分区组织的
- 如果多个程序都在修改这个数据集,其他程序难以配合修改
1.2 数据湖发展阶段2-Hive
数据湖的演进-- Hive Metastore
对数据湖中的数据集进行集中定义: - 数据湖中存在哪些数据集
- 他们都存储在什么目录
- 数据集的schema是什么样子
- 数据集有哪些分区及每个分区的目录
1.3 数据湖发展阶段3-湖仓一体 - 数据仓库将数据从数据源提取和转换,加载到目的地
- 数据仓库存储+计算不分离
- 数据仓库严格控制写入数据的schema
1.4业内三大数据湖 - Uber:Hudi
- Netflix:iceburg
- databricks:Delta Lake
- 核心技术
- 写入数据湖时:按照每条数据的date进行分区;额外使用metadata文件记录表信息
- time travel:每次写入都生成一个新的元数据文件,记录变更;分区数据在Update时,不要删除旧数据,保证新旧共存;元数据中存储具体的文件路径,而不仅仅是分区文件夹
- Transcation:ACID,指数据库在写入或更新资料的过程中,为保证事务是正确可靠的(原子性、一致性、事务隔离、持久性)
- Schema Evolution:add/drop/rename
- 总结场景
-
三个数据湖的异同
-
三个数据湖的热度: