这是我参与「第四届青训营 」笔记创作活动的第14天,今天学习了数据湖的有关概念,并整理了相关资料和概念,来补充学习。
数据湖三剑客:Delta Lake、Hudi 与 Iceberg 详解
数据湖发展阶段
-
Hadoop(坏处)
- 没有记录文件的schema
- 难以得知数据集包含了哪些文件,如何区分
- 如果多个程序修改数据集,其他程序难以配合修改
-
Hive
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。
- 湖仓一体
- 结合了数据湖和数据仓库的优势
- 将数据仓库中对于数据的严格管理直接实现在了低成本的分布式存储
- Key Features
三大数据湖
- Delta Lake
Delta Lake是DataBricks公司推出的一种数据湖方案。Delta Lake以数据为中心,围绕数据流走向(数据从流入数据湖、数据组织管理和数据查询到流出数据湖)推出了一系列功能特性,协助您搭配第三方上下游工具,搭建快捷、易用和安全的数据湖。
- Hudi
Apache Hudi是一个Data Lakes的开源方案,Hudi是Hadoop Updates and Incrementals的简写,它是由Uber开发并开源的Data Lakes解决方案。Hudi能够基于HDFS之上管理大型分析数据集,可以对数据进行插入、更新、增量消费等操作,主要目的是高效减少摄取过程中的数据延迟。
- Iceberg
数据湖解决方案中关键的一个环节就是数据存储和计算引擎之间的适配. 为了解决这个问题Netflix开发了Iceberg, 目前已经是Apache的顶级项目。