文章目录

  • 一. 什么是Hudi
  • 二. 发展历史
  • 三. Hudi 功能和特性
  • 四. Hudi 基础架构
  • 五. 使用公司
  • 六. 小结
  • 参考:


一. 什么是Hudi

Apache Hudi(发音“hoodie”)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接带到数据湖中。Hudi提供了表,事务,高效upserts /删除,高级索引,流式摄取服务,数据群集/压缩优化以及并发,同时保持数据以开源文件格式保留。

Apache Hudi不仅用于流媒体工作负载,还允许创建有效的增量批量流水线。包括 Uber, Amazon, ByteDance, Robinhood等以及更多的公司都在使用Hudi改造他们的生产数据湖泊。

Apache Hudi可以轻松使用在任何云存储平台上。Hudi的高级性能优化,使用任何流行的查询引擎进行分析工作负载,包括Apache Spark,Flink,Presto,Trino,Hive等。

  1. Hudi(Hadoop Upserts and Incrementals缩写):用于管理分布式文件系统DFS上大型分析数据集存储。
  2. 一言以蔽之,Hudi是一种针对分析型业务的、扫描优化的数据存储抽象,它能够使DFS数据集在分钟级的时延内支持变更,也支持下游系统对这个数据集的增量处理。
  3. 官网地址:https://hudi.apache.org/

hive和hudi版本关系 hive hudi_大数据

二. 发展历史

2015 年:发表了增量处理的核心思想/原则(O’reilly 文章)

2016 年:由 Uber 创建并为所有数据库/关键业务提供支持

2017 年:由 Uber 开源,并支撑 100PB 数据湖

2018 年:吸引大量使用者,并因云计算普及

2019 年:成为 ASF 孵化项目,并增加更多平台组件

2020 年:毕业成为 Apache 顶级项目,社区、下载量、采用率增长超过 10 倍

2021 年:支持 Uber 500PB 数据湖,SQL DML、Flink 集成、索引、元服务器、缓存。

三. Hudi 功能和特性

  1. 快速upsert,可插入索引
  2. 以原子方式操作数据并具有回滚功能
  3. 写入器之和查询之间的快照隔离
  4. savepoint用户数据恢复的保存点
  5. 管理文件大小,使用统计数据布局
  6. 异步压缩行列数据
  7. 具有时间线来追踪元数据血统
  8. 通过聚类优化数据集

hive和hudi版本关系 hive hudi_大数据_02

四. Hudi 基础架构

hive和hudi版本关系 hive hudi_hive和hudi版本关系_03

  1. 通过DeltaStreammer、Flink、Spark等工具,将数据摄取到数据湖存储。
  2. 支持 HDFS、S3、Azure、云等等作为数据湖的数据存储。
  3. 支持不同查询引擎,如:Spark、Flink、Presto、Hive、Impala、Aliyun DLA。
  4. 支持 spark、flink、map-reduce 等计算引擎对 hudi 的数据进行读写操作。

五. 使用公司

hive和hudi版本关系 hive hudi_数据集_04

六. 小结

  1. Apache Hudi 本身不存储数据,仅仅管理数据,借助外部存储引擎存储数据,比如HDFS、S3;
  2. 此外,Apache Hudi 也不分析数据,需要使用计算分析引擎,查询和保存数据,比如Spark或Flink