目录
0. 相关文章链接
1. 数据湖框架
目前市面上流行的三大开源数据湖方案分别为:Delta Lake、Apache Iceberg和Apache Hudi。
- Delta Lake:DataBricks公司推出的一种数据湖方案,网址:https://delta.io/
- Apache Iceberg:以类似于SQL的形式高性能的处理大型的开放式表,网址:https://iceberg.apache.org/
- Apache Hudi:Hadoop Upserts anD Incrementals,管理大型分析数据集在HDFS上的存储,网址:https://hudi.apache.org/
2. Delta Lake
- 流批一体的Data Lake存储层,支持 update/delete/merge
- 由于出自Databricks,Spark的所有数据写入方式,包括基于dataframe的批式、流式,以及SQL的Insert、Insert Overwrite等都是支持的(开源的SQL写暂不支持,EMR做了支持)。
- 在数据写入方面,Delta 与 Spark 是强绑定的;在查询方面,开源 Delta 目前支持 Spark 与 Presto,但是,Spark 是不可或缺的,因为 delta log 的处理需要用到 Spark。
3. Apache Iceberg
- 用于跟踪超大规模表的新格式,是专门为对象存储(如S3)而设计的,官网:https://iceberg.apache.org/
- 由 Netflix 开发开源的,其于 2018年11月16日进入 Apache 孵化器,是 Netflix 公司数据仓库基础。
- 一种可伸缩的表存储格式,允许在一个文件里面修改或者过滤数据,多个文件也支持,内置了许多最佳实践。
- 在查询方面,Iceberg 支持 Spark、Presto,提供了建表的 API,用户可以使用该 API 指定表明、schema、partition 信息等,然后在 Hive catalog 中完成建表。
4. Apache Hudi
- Apache Hudi:提供的fast upsert/delete以及compaction等功能,管理存储在HDFS上数据,设计目标正如其名,Hadoop Upserts Deletes and Incrementals(原为 Hadoop Upserts anD Incrementals)。
- 强调其主要支持Upserts、Deletes和Incrementa数据处理,支持三种数据写入方式:UPSERT,INSERT 和 BULK_INSERT。
最后,推荐一篇同事的关于数据湖三剑客对比的一篇博文:湖仓方案DeltaLake、Hudi、Iceberg功能对比_白月蓝山-CSDN博客
注:Hudi系列博文为通过对Hudi官网学习记录所写,其中有加入个人理解,如有不足,请各位读者谅解☺☺☺
注:其他相关文章链接由此进(包括Hudi在内的各数据湖相关博文) -> 数据湖 文章汇总