【Hudi】数据湖

1.数据湖是什么?

数据湖:定义、特点和应用数据湖系统以原始格式存储数据,可以存储结构化(表格或图形)、半结构化(CSV、JSON、日志)、非结构化(电子邮件、文档)和二进制数据(音频、照片等)。
数据湖与其他数据系统主要区别如下:

  • 易用,数据湖可以存储不同来源、不同类型的数据,方便进一步分析和重新安置
  • 组织和结构化,数据是以原始格式进行实时收集和存储
  • 实惠,能为任何规模的数据提供划算的价格
  • 适用于任何时间框架,可以实时或按需更新
  • 无限存储空间,为大数据存储提供优秀的解决方案。

不同于数据仓库,数据湖可以完美地处理不同类型的数据,而且因为能提供高性价比的大数据存储而备受赞赏。
它的这些功能主要提供给数据科学家和工程师,他们需要足够的空间来存储所有的重要数据和项目细节,并在深度学习、实时分析及其他方面采用该系统。

【Hudi】数据湖_第1张图片

数据湖通常应用于医疗、教育、交通这些行业,它既可以提供实时洞察,还能提供一个检测和预防各种潜在问题的未来预测清单。这些领域通常都需要数据后处理程序,而此类程序可以通过数据湖系统轻松实现。

2.Hudi基础功能

(1).Hudi 简介

Apache Hudi 由 Uber 开发并开源,该项目在 2016 年开始开发,并于 2017 年开源,2019年 1 月进入 Apache 孵化器,且 2020 年 6 月称为 Apache 顶级项目,目前最新版本:0.11.1 版本。
Hudi 一开始支持 Spark 进行数据摄入(批量 Batch 和流式 Streaming),从 0.7.0 版本开始,逐渐与 Flink 整合,主要在于 Flink SQL 整合,还支持 Flink SQL CDC。
【Hudi】数据湖_第2张图片
Hudi(Hadoop Upserts anD Incrementals缩写)是目前市面上流行的三大开源数据湖方案之一。
用于管理分布式文件系统 DFS 上大型分析数据集存储。
简单来说,Hudi 是一种针对分析型业务的、扫描优化的数据存储抽象,它能够使 DFS 数据集在分钟级的时延内支持变更,也支持下游系统对这个数据集的增量处理。

(2).Hudi 功能

  • Hudi 是在大数据存储上的一个数据集,可以将 Change Logs 通过 upsert 的方式合并进 Hudi;
  • Hudi 对上可以暴露成一个普通 Hive 或 Spark 表,通过 API 或命令行可以获取到增量修改的信息,继续供下游消费;
  • Hudi 保管修改历史,可以做时间旅行或回退;
  • Hudi 内部有主键到文件级的索引,默认是记录到文件的布隆过滤器;
    【Hudi】数据湖_第3张图片

(3).Hudi 的特性

Apache Hudi 使得用户能在 Hadoop 兼容的存储之上存储大量数据,同时它还提供两种原语,不仅可以批处理,还可以在数据湖上进行流处理。

1.Update/Delete 记录:Hudi 使用细粒度的文件/记录级别索引来支持 Update/Delete 记录,同时还提供写操作的事务保证。查询会处理最后一个提交的快照,并基于此输出结果。

2.变更流:Hudi 对获取数据变更提供了一流的支持:可以从给定的 时间点 获取给定表中已 updated / inserted / deleted 的所有记录的增量流,并解锁新的查询姿势(类别)。

  • Apache Hudi 本身不存储数据,仅仅管理数据。
  • Apache Hudi 也不分析数据,需要使用计算分析引擎,查询和保存数据,比如 Spark 或 Flink;
  • 使用 Hudi 时,加载 jar 包,底层调用 API,所以需要依据使用大数据框架版本,编译 Hudi 源码,获取对应依赖jar包。
    【Hudi】数据湖_第4张图片

(4) Hudi 的 架构

【Hudi】数据湖_第5张图片

1.通过 DeltaStreammer、Flink、Spark 等工具,将数据摄取到数据湖存储,可使用HDFS 作为数据湖的数据存储;
2.基于 HDFS 可以构建 Hudi 的数据湖;
3.Hudi 提供统一的访问 Spark 数据源和 Flink 数据源;
4.外部通过不同引擎,如:Spark、Flink、Presto、Hive、Impala、Aliyun DLA、AWS Redshit 访问接口;
【Hudi】数据湖_第6张图片

5.湖仓一体架构

Hudi 对于 Flink 友好支持以后,可以使用 Flink + Hudi 构建实时湖仓一体架构,数据的时效性可以到分钟级,能很好的满足业务准实时数仓的需求。
通过湖仓一体、流批一体,准实时场景下做到了:数据同源、同计算引擎、同存储、同计算口径。

【Hudi】数据湖_第7张图片

你可能感兴趣的:(大数据,hadoop,大数据,分布式)