一. 什么是Hudi
Apache Hudi(發(fā)音“hoodie”)是下一代流數(shù)據(jù)湖平臺。Apache Hudi將核心倉庫和數(shù)據(jù)庫功能直接帶到數(shù)據(jù)湖中东囚。Hudi提供了表跺嗽,事務(wù),高效upserts /刪除,高級索引桨嫁,流式攝取服務(wù)植兰,數(shù)據(jù)群集/壓縮優(yōu)化以及并發(fā),同時保持?jǐn)?shù)據(jù)以開源文件格式保留璃吧。
Apache Hudi不僅用于流媒體工作負載楣导,還允許創(chuàng)建有效的增量批量流水線。包括 Uber, Amazon, ByteDance, Robinhood等以及更多的公司都在使用Hudi改造他們的生產(chǎn)數(shù)據(jù)湖泊畜挨。
Apache Hudi可以輕松使用在任何云存儲平臺上筒繁。Hudi的高級性能優(yōu)化,使用任何流行的查詢引擎進行分析工作負載巴元,包括Apache Spark毡咏,F(xiàn)link翩活,Presto蔓挖,Trino,Hive等筒愚。
- Hudi(Hadoop Upserts and Incrementals縮寫):用于管理分布式文件系統(tǒng)DFS上大型分析數(shù)據(jù)集存儲修己。
- 一言以蔽之恢总,Hudi是一種針對分析型業(yè)務(wù)的、掃描優(yōu)化的數(shù)據(jù)存儲抽象箩退,它能夠使DFS數(shù)據(jù)集在分鐘級的時延內(nèi)支持變更离熏,也支持下游系統(tǒng)對這個數(shù)據(jù)集的增量處理佳谦。
- 官網(wǎng)地址:https://hudi.apache.org/
二. 發(fā)展歷史
2015 年:發(fā)表了增量處理的核心思想/原則(O'reilly 文章)
2016 年:由 Uber 創(chuàng)建并為所有數(shù)據(jù)庫/關(guān)鍵業(yè)務(wù)提供支持
2017 年:由 Uber 開源戴涝,并支撐 100PB 數(shù)據(jù)湖
2018 年:吸引大量使用者,并因云計算普及
2019 年:成為 ASF 孵化項目钻蔑,并增加更多平臺組件
2020 年:畢業(yè)成為 Apache 頂級項目啥刻,社區(qū)、下載量咪笑、采用率增長超過 10 倍
2021 年:支持 Uber 500PB 數(shù)據(jù)湖可帽,SQL DML、Flink 集成窗怒、索引映跟、元服務(wù)器、緩存扬虚。
三. Hudi 功能和特性
- 快速upsert,可插入索引
- 以原子方式操作數(shù)據(jù)并具有回滾功能
- 寫入器之和查詢之間的快照隔離
- savepoint用戶數(shù)據(jù)恢復(fù)的保存點
- 管理文件大小努隙,使用統(tǒng)計數(shù)據(jù)布局
- 異步壓縮行列數(shù)據(jù)
- 具有時間線來追蹤元數(shù)據(jù)血統(tǒng)
- 通過聚類優(yōu)化數(shù)據(jù)集
四. Hudi 基礎(chǔ)架構(gòu)
通過DeltaStreammer、Flink辜昵、Spark等工具荸镊,將數(shù)據(jù)攝取到數(shù)據(jù)湖存儲。
支持 HDFS、S3躬存、Azure张惹、云等等作為數(shù)據(jù)湖的數(shù)據(jù)存儲。
支持不同查詢引擎岭洲,如:Spark宛逗、Flink、Presto钦椭、Hive拧额、Impala、Aliyun DLA彪腔。
支持 spark侥锦、flink、map-reduce 等計算引擎對 hudi 的數(shù)據(jù)進行讀寫操作德挣。
五. 使用公司
六. 小結(jié)
Apache Hudi 本身不存儲數(shù)據(jù)恭垦,僅僅管理數(shù)據(jù),借助外部存儲引擎存儲數(shù)據(jù)格嗅,比如HDFS番挺、S3;
此外屯掖,Apache Hudi 也不分析數(shù)據(jù)玄柏,需要使用計算分析引擎,查詢和保存數(shù)據(jù)贴铜,比如Spark或Flink