您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Apache Hudi 0.5.2版本有哪些特性”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Apache Hudi 0.5.2版本有哪些特性”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
Write Client模塊組織結構進行了重構,具體參見HUDI-554。現在client
包包含所有事務管理的類,func
包被重命名為execution
,一些幫助類被移動到了client/utils
中,之前所有在io
包下和壓縮(compaction)相關代碼已經被移動到table/compact
下。table/rollback
包放置了和回滾(Rollback)操作相關代碼,一些通用類放在了table
包下。上述變更僅影響依賴hudi-client模塊的用戶,使用deltastreamer/datasource的用戶不受影響,不需要做任何變更。
支持在hoodie.properties
指定hoodie.compaction.payload.class
配置項來重寫palyload實現,在此之前一旦在hoodie.properties
中設置了payload類便不可更改。但是在一些情況下,比如進行代碼重構后jar包更新,可能需要傳遞新的payload實現,如果你有這種需求,不妨嘗試使用這個特性。
TimestampBasedKeyGenerator
支持CharSequence
類型,之前TimestampBasedKeyGenerator
只支持Double
,Long
,Float
,String
四種分區字段類型,現在擴展到可以支持CharSequence
的分區字段類型。
Hudi現在支持通過hoodie.datasource.read.incr.path.glob
配置項來指定分區進行增量拉取,一些場景下用戶只需要增量拉取部分分區,這樣通過只加載相關Parquet數據文件來加速數據拉取。
0.5.2版本支持在GLOBAL_BLOOM
索引下,允許分區路徑更新。在此之前設置GLOBAL_BLOOM
索引,更新的記錄有不同的分區路徑時,Hudi會忽略新的分區路徑并在之前舊分區更新記錄,現在Hudi支持在新的分區插入數據并且刪除老的分區數據,通過hoodie.index.bloom.update.partition.path=true
配置項可以開啟這個特性。
0.5.2版本通過提供JdbcbasedSchemaProvider
來支持通過JDBC獲取元數據。這對于一些想從MySQL同步數據并且想從數據庫中獲取schema的用戶非常有用。
0.5.2版本對于HoodieBloomIndex
索引已不再有2GB大小的限制,在spark 2.4.0版本之前,每個spark分區有2GB大小的限制,在Hudi 0.5.1時將spark的版本升級到了2.4.4,現在便不再有任何限制,因此移除了HoodieBloomIndex
中對于安全并行度的計算邏輯。
CLI相關變更
允許用戶指定配置項來打印附加的commit元數據,比如Log Block總數,Rollback Block總數,壓縮、更新總條數等等。
支持temp_query
和temp_delete
來查詢和刪除臨時視圖,該命令會創建一個臨時表,用戶可以通過HiveQL來查詢該表數據,如
java temp_query --sql "select Instant, NumInserts, NumWrites from satishkotha_debug where FileId='ed33bd99-466f-4417-bd92-5d914fa58a8f' and Instant > '20200123211217' order by Instant"
讀到這里,這篇“Apache Hudi 0.5.2版本有哪些特性”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。