数据算法结构|青训营笔记

64 阅读1分钟

这是我参与「第四届青训营」笔记创作的第7天
Delta Lake、Hudi与Iceburg详解

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

  • 三个数据湖的热度: 截屏2022-08-10 13.47.25.png