1. 重點特性
1.1 Flink整合
自從Hudi 0.7.0版本支援Flink寫入後,Hudi社群又進一步完善了Flink和Hudi的整合。包括重新設計效能更好、擴充套件性更好、基於Flink狀態索引的寫入Pipeline;支援Flink寫入MOR表;Flink批量讀取COW和MOR表;流式讀取MOR表;同時支援了Hudi作為Source和Sink的Flink SQL Connector,在Hudi 0.8.0版本釋出後,使用者可以使用Flink1.11+體驗上述所有新特性。
想了解更多Flink寫入Hudi的細節,請參考 RFC-24
具體教程可參考:重磅!解鎖Apache Flink讀寫Apache Hudi新姿勢
1.2 併發寫
單表支援併發寫特性在Hudi社群呼聲比較高,0.8.0版本Hudi使用樂觀鎖併發控制支援多客戶端併發寫同一張表,Hudi支援檔案級別樂觀鎖併發控制,如兩個commit(或寫入客戶端)同時寫入一張表,如果兩個commit修改的檔案不相同,兩個客戶端的寫入都可以成功,現在這個功能標記為experimental
,使用者可以基於Zookeeper
和HiveMetastore
來提供鎖服務,後續還會考慮提供基於檔案的鎖服務。
想了解更多併發寫入細節,請參考RFC-22,想使用併發寫功能,可參考併發控制配置。
1.3 寫入端改進
- Flink客戶端支援
InsertOverwrite
- Java客戶端支援COW表
1.4 查詢端改進
- 支援Spark Structured Streaming流式讀取Hudi表
- 改進Metadata Table的效能
- 改進Clustering的效能
2. 遷移指南
- 如果從小於0.5.3版本遷移,請參考每個版本遷移指南
- 0.6.0版本之後未引入新的表版本
HoodieRecordPayload
介面被標記為deprecated
,重新引入了包含properties
引數的介面,歡迎遷移至新介面,老介面將在0.9.0版本移除,請儘快遷移。
3. 總結
0.8.0版本與Flink做了更深度的整合,藉助Flink和Hudi構建更實時的資料湖,同時0.8.0版本還支援了Flink和Spark的流批讀寫,Hudi可作為流批一體的統一資料儲存層。
4. 感謝
感謝參與0.8.0版本的所有貢獻者,歡迎廣大資料湖愛好者加入Apache Hudi社群,歡迎star & fork https://github.com/apache/hudi
原始碼下載
- 原始碼下載 : Apache Hudi 0.8.0 Source Release (asc, sha512)
- maven倉庫包地址: [地址](