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

236 阅读1分钟

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

课程内容

01 发展历史

1.1 Hadoop

  • No schema。不知道数据集的详情

1.2 Hive

  • Hive,在数据湖对数据集中定义,即元数据,存储在MySQL里面。

  • Hive只能在表的结尾新加一列。

\

1.3 湖仓一体

  • 湖是数据湖,仓是数据仓库

  • 结合数据湖和数据仓库的优点

  • Hudi

  • iceberg

  • Delta lake

  • Lakehouse 湖仓一体

02 核心技术

\

\

2.1 Transaction

2.2 冲突解决

  • 读写冲突已经解决了
    • 新的写入除非commit,否则用户读不到
    • 用户正在读的分区,被另一写入进行了更新,数据不会进行替换,而是共存的。

  • 写写冲突

2.3 Schema变更

  • 先执行Drop操作,再执行ADD操作。

03 各有所长

3.1 Iceberg

  • Catalog层
  • metadata层
  • data layer层:parquet文件
    • s1比s0多了第三块mainifest file下面的data files

\

3.2 Hudi

\

3.3 Delta Lake 工作重点

\

04 总结场景

4.1 三个数据湖的异同

\

\

\

\

\