Hudi 特性 | Apache Hudi 0.8.0 版本重磅發(fā)布
1. 重點(diǎn)特性
1.1 Flink集成
自從Hudi 0.7.0版本支持Flink寫入后,Hudi社區(qū)又進(jìn)一步完善了Flink和Hudi的集成。包括重新設(shè)計(jì)性能更好、擴(kuò)展性更好、基于Flink狀態(tài)索引的寫入Pipeline;支持Flink寫入MOR表;Flink批量讀取COW和MOR表;流式讀取MOR表;同時(shí)支持了Hudi作為Source和Sink的Flink SQL Connector,在Hudi 0.8.0版本發(fā)布后,用戶可以使用Flink1.11+體驗(yàn)上述所有新特性。
想了解更多Flink寫入Hudi的細(xì)節(jié),請(qǐng)參考 RFC-24[1]
具體教程可參考:重磅!解鎖Apache Flink讀寫Apache Hudi新姿勢(shì)
1.2 并發(fā)寫
單表支持并發(fā)寫特性在Hudi社區(qū)呼聲比較高,0.8.0版本Hudi使用樂觀鎖并發(fā)控制支持多客戶端并發(fā)寫同一張表,Hudi支持文件級(jí)別樂觀鎖并發(fā)控制,如兩個(gè)commit(或?qū)懭肟蛻舳?同時(shí)寫入一張表,如果兩個(gè)commit修改的文件不相同,兩個(gè)客戶端的寫入都可以成功,現(xiàn)在這個(gè)功能標(biāo)記為experimental,用戶可以基于Zookeeper和HiveMetastore來提供鎖服務(wù),后續(xù)還會(huì)考慮提供基于文件的鎖服務(wù)。
想了解更多并發(fā)寫入細(xì)節(jié),請(qǐng)參考RFC-22[2],想使用并發(fā)寫功能,可參考并發(fā)控制[3]配置。
1.3 寫入端改進(jìn)
?Flink客戶端支持InsertOverwrite?Java客戶端支持COW表
1.4 查詢端改進(jìn)
?支持Spark Structured Streaming流式讀取Hudi表?改進(jìn)Metadata Table的性能?改進(jìn)Clustering的性能
2. 遷移指南
?如果從小于0.5.3版本遷移,請(qǐng)參考每個(gè)版本遷移指南?0.6.0版本之后未引入新的表版本?HoodieRecordPayload接口被標(biāo)記為deprecated,重新引入了包含properties參數(shù)的接口,歡迎遷移至新接口,老接口將在0.9.0版本移除,請(qǐng)盡快遷移。
3. 總結(jié)
0.8.0版本與Flink做了更深度的集成,借助Flink和Hudi構(gòu)建更實(shí)時(shí)的數(shù)據(jù)湖,同時(shí)0.8.0版本還支持了Flink和Spark的流批讀寫,Hudi可作為流批一體的統(tǒng)一數(shù)據(jù)存儲(chǔ)層。
4. 感謝
感謝參與0.8.0版本的所有貢獻(xiàn)者,歡迎廣大數(shù)據(jù)湖愛好者加入Apache Hudi社區(qū),歡迎star & fork https://github.com/apache/hudi
源碼下載
?源碼下載 : Apache Hudi 0.8.0 Source Release[4] (asc[5], sha512[6])?maven倉庫包地址: 地址[7]
推薦閱讀
Apache Flink 1.12.2集成Hudi 0.9.0運(yùn)行指南
Lakehouse元數(shù)據(jù)管理技術(shù)深度解析
重磅!解鎖Apache Flink讀寫Apache Hudi新姿勢(shì)
引用鏈接
[1] RFC-24: https://cwiki.apache.org/confluence/display/HUDI/RFC+-+24%3A+Hoodie+Flink+Writer+Proposal[2] RFC-22: https://cwiki.apache.org/confluence/display/HUDI/RFC+-+22+%3A+Snapshot+Isolation+using+Optimistic+Concurrency+Control+for+multi-writers[3] 并發(fā)控制: http://hudi.apache.org/docs/concurrency_control.html[4] Apache Hudi 0.8.0 Source Release: https://downloads.apache.org/hudi/0.8.0/hudi-0.8.0.src.tgz[5] asc: https://downloads.apache.org/hudi/0.8.0/hudi-0.8.0.src.tgz.asc[6] sha512: https://downloads.apache.org/hudi/0.8.0/hudi-0.8.0.src.tgz.sha512[7] 地址: https://repository.apache.org/#nexus-search;quick~hudi
