1. 下載連線
- 原始碼下載:Apache Hudi 0.5.3 Source Release (asc, sha512)
- 0.5.3版本相關jar包地址:https://repository.apache.org/#nexus-search;quick~hudi
2. 遷移指南
- 這是一個bugfix版本,從0.5.2升級時不需要任何特殊的遷移步驟。如果要從早期版本"X"升級,請閱讀"X"和0.5.3之間的每個後續版本的遷移指南。
- 0.5.3是Hudi畢業後的第一個版本,因此所有hudi jar的版本名稱中不再帶有"-incubating"。在所有提及hudi版本的地方,請確保不再存在"-incubating"。
例如,hudi-spark-bundle pom依賴如下所示:
<dependency>
<groupId>org.apache.hudi</groupId>
<artifactId>hudi-spark-bundle_2.12</artifactId>
<version>0.5.3</version>
</dependency>
3. 關鍵特性
-
Hudi內建支援
aliyun OSS
物件儲存。 -
預設情況下將為delta-streamer和spark datasource寫入啟用Embedded Timeline Server。在此版本之前,此功能處於實驗模式,embeddedTimeline Server在Spark Driver中快取檔案列表,並提供Restful介面給Spark Writer任務呼叫來減少了每次寫入時的list檔案列表的操作,此優化對雲上物件儲存非常友好。
-
預設情況下為delta-streamer和Spark datasource寫入均啟用"增量清理(incremental cleaning)"。在此版本之前,此功能還處於實驗模式,在穩定狀態下,增量清理避免了掃描所有分割槽的昂貴步驟,而是使用Hudi後設資料來查詢要清理的檔案,此優化也對雲上物件儲存非常友好。
-
支援將Delta-Streamer配置檔案放置在與實際資料不同的檔案系統中。
-
Hudi Hive Sync現在支援按日期型別列分割槽的表。
-
Hudi Hive Sync現在支援直接通過Hive MetaStore進行同步。您只需要設定
hoodie.datasource.hive_sync.use_jdbc = false
。Hive Metastore Uri將從environment中隱式讀取。例如當通過Spark datasource寫入時,spark.write.format(“hudi”) .option(…) .option(“hoodie.datasource.hive_sync.username”, “<user>”) .option(“hoodie.datasource.hive_sync.password”, “<password>”) .option(“hoodie.datasource.hive_sync.partition_fields”, “<partition_fields>”) .option(“hoodie.datasource.hive_sync.database”, “<db_name>”) .option(“hoodie.datasource.hive_sync.table”, “<table_name>”) .option(“hoodie.datasource.hive_sync.use_jdbc”, “false”) .mode(APPEND) .save(“/path/to/dataset”)
-
支援Presto查詢MoR表時Hudi側的改造。
-
其他與Writer Performance相關的缺陷修復。
- 現在DataSource Writer避免了寫入後不必要的資料載入。
- Hudi Writer現在利用spark的併發來加速小檔案查詢。
4. 感謝
感謝如下貢獻者(排名不分先後): @bhasudha,@yanghua ,@ddong ,@smarthi ,@afilipchik,@zhedoubushishi,@umehrot2,@varadar,@ffcchi,@bschell,@vinothchandar ,@shenh062326,@lamber-ken,@zhaomin1423,@EdwinGuo,@prashantwason ,@pratyakshsharma,@dengziming ,@AakashPradeep,@Jecarm ,@xushiyan ,@cxzl25,@garyli1019 ,@rolandjohann ,@nsivabalan,@leesf ,@jfrazee