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

202 阅读3分钟

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

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

  • Hadoop的概述

Hadoop 是一个由 Apache 基金会所开发的 分布式系统基础架构。 主要解决,海量数据的 存储 和海量数据的 分析计算 问题。 广义上来说, Hadoop 通常是指一个更广泛的概念 —— Hadoop 生态圈。

  • Hadoop优势

image.png

image.png

  • hive介绍

hive是一个开源的用于大数据分析和统计的数据库工具,它的存储基于HDFS,计算基于MapReduce或Spark,可以将结构化数据映射成表,并提供类SQL查询功能。

特点

  • 提供类SQL查询,容易上手,开发方便
  • 封装了很多方法,尽量避免了开发MapReduce程序,减少成本
  • 支持自定义函数,可以根据需求实现函数
  • 适用于处理大规模数据,小数据的处理没有优势
  • 执行延迟较高,适合用于数据分析,不适合对时效性要求较高的场景

image.png

  • 数据湖与数据仓库

数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据存储系统,它主要存储的是结构化数据,历史数据通过抽取、转换、整合以及清理,并导入到目标表中,主要用于业务决策分析。

随着当前大量信息化发展和电子设备产品普及,产生大量的照片、视频、文档等非结构化数据,人们也想通过大数据技术找到这些数据的关系,所以设计了一个比数据仓库还要大的系统,可以把非结构化和结构化数据共同存储和做一些处理,这个系统叫做数据湖。

数据湖是一个以原始格式存储数据的存储库或系统,它按原样存储数据,而无需事先对数据进行结构化处理,可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图片、音频、视频),以供机器学习、深度学习、统计分析等多种形式数据分析应用。

  • Delta Lake概述

Delta Lake是DataBricks公司推出的一种数据湖方案。Delta Lake以数据为中心,围绕数据流走向(数据从流入数据湖、数据组织管理和数据查询到流出数据湖)推出了一系列功能特性,协助您搭配第三方上下游工具,搭建快捷、易用和安全的数据湖。

  • Hudi概述

Apache Hudi是一个Data Lakes的开源方案,Hudi是Hadoop Updates and Incrementals的简写,它是由Uber开发并开源的Data Lakes解决方案。Hudi能够基于HDFS之上管理大型分析数据集,可以对数据进行插入、更新、增量消费等操作,主要目的是高效减少摄取过程中的数据延迟。

  • Iceberg概述

Iceberg是一个面向海量数据分析场景的开放表格式(Table Format). 定义中所说的表格式(Table Format), 可以理解为元数据以及数据文件的一种组织方式, 处于计算框架(Flink, Spark...)之下, 数据文件之上. 如图所示:

image.png

(待补充)