1. 引入
開源Apache Hudi項目為Uber等大型組織提供流處理能力,每天可處理數據湖上的數十億條記錄。
隨着世界各地的組織采用該技術,Apache開源數據湖項目已經日漸成熟。
Apache Hudi(Hadoop Upserts Deletes and Incrementals)是一個數據湖項目,可在與Apache Hadoop兼容的雲存儲系統(包括Amazon S3、Aliyun OSS)上進行流數據處理。
該項目最初於2016年在Uber開發,於2017年成為開源,並於2019年1月進入Apache孵化器。作為開源的結果反饋,Hudi已被阿里巴巴,騰訊,AWS,Uber和Kyligence等主要技術供應商的采用。
6月4日,Hudi(發音為"Hoodie")正式成為Apache軟件基金會(ASF)的頂級項目,這是一個里程碑,標志着該項目已經達到了較高的代碼成熟度和開發人員社區的參與。ASF是Hadoop,Spark,Kafka和其他廣泛使用的數據庫和數據管理程序的地方。
2. Hudi如何實現Uber的雲數據湖
Hudi現在是被多個組織使用的開源項目,其中Uber一直是堅定的用戶。
Uber數據工程經理Tanvi Kothari表示,Uber使用Hudi每天處理超過150PB數據湖中的5,000億條記錄。
Kothari運營着Uber全球數據倉庫團隊,該團隊負責為Uber的所有業務提供核心數據表。她指出,Hudi支持Uber對10,000多個表和數千個數據管道的讀寫進行增量處理。
Kothari說:”Hudi消除了處理大數據中的許多挑戰,它可以幫助您擴展ETL [Extract,Transform,Load]管道並提高數據保真度。”
3. Hudi作為雲數據湖分析的基石
大數據分析供應商Kyligence Solutions將Apache Hudi作為產品的一部分,該公司在中國上海和加利福尼亞州聖何塞設有辦事處,Kyligence的合伙人兼首席架構師史少鋒說道,他的公司使用許多Apache開源項目,包括Apache Kylin,Hadoop和Spark技術,來幫助企業管理數據。
史少鋒表示,Apache Hudi為Kyligence提供了一種直接在Hadoop分布式文件系統(HDFS)或Amazon S3上管理更改數據集的方法。
Kyligence於2019年開始為美國客戶使用Hudi,同時在此期間,AWS推出了與Hudi和Amazon Elastic MapReduce(EMR)服務的集成。Kyligence Cloud服務現在還支持Hudi作為其所有用戶進行在線分析處理的數據源格式。
史表示很高興看到Hudi畢業成為Apache的頂級項目的成就,他說,“Hudi有一個開放而熱情的社區,甚至將一系列Hudi文章翻譯成中文,使中國用戶更容易了解該技術。”
4. Hudi如何賦能雲數據湖流處理
ASF Apache Hudi的共同創始人兼VP Vinoth Chandar說,Hudi提供了使用數據流的功能,並使用戶能夠更新數據集。
Chandar將Hudi啟用的流處理視為一種數據處理方式,在這種方式中,數據湖管理員可以處理增量數據,然后可以使用該數據。
Chandar說:“真正考慮Hudi的一個好方法是作為一個數據存儲或數據庫,該數據庫在[AWS] S3、[Aliyun] OSS中存儲的數據之上提供事務處理功能。”
Chandar接着說,Hudi成為頂級項目也反映了該項目的成熟度。但是,盡管Hudi現在是Apache的頂級項目,但這項工作尚未達到1.0版本,最新的更新是3月25日發布的0.5.2里程碑(畢業后又發布了0.5.3版本)。
Hudi開發人員目前正在開發0.6.0版本,Chandar表示該版本將於6月底發布。 Chandar說,該版本將是一個重要的里程碑,它將具有性能增強和改進的數據遷移功能,以幫助用戶將數據帶入Hudi數據湖。他說:“我們的計划是至少每個季度發布一個主要版本,然后希望每個月在主要版本之上發布bugfix版本。”