Hudi 的工作原理

2021-10-07 10:15:59 字數 1508 閱讀 3408

當 hudi 與 amazon emr 結合使用時,您可以使用 spark 資料來源 api 或 hudi deltastreamer 實用程式將資料寫入資料集中。hudi 將資料集組織到basepath下類似於傳統 hive 表的分割槽目錄結構中。如何將資料布局為這些目錄中的檔案的具體細節取決於您選擇的資料集型別。您可以選擇「寫入時複製 (cow)」或「讀取時合併 (mom)」。

無論資料集型別如何,資料集中的每個分割槽都由其相對於basepathpartitionpath唯一標識。在每個分割槽中,記錄分布到多個資料檔案中。有關更多資訊,請參閱 apache hudi 文件中的檔案管理。

hudi 中的每個操作都有乙個相應的提交,由乙個稱為 instant 的單調遞增的時間戳標識。hudi 將對資料集執行的一系列所有操作保留為時間軸。hudi 依靠此時間軸在讀取器和寫入器之間提供快照隔離,並支援回滾到前乙個時間點。有關 hudi 記錄的操作和操作狀態的更多資訊,請參閱 apache hudi 文件中的時間軸。

建立 hudi 資料集時,可以指定資料集在寫入時複製或讀取時合併。

對於 cow 資料集,每次更新記錄時,包含該記錄的檔案都會使用更新後的值進行重寫。對於 mor 資料集,每次進行更新時,hudi 僅寫入已更改記錄對應的行。mor 更適合寫入或更改繁重而讀取量較少的工作負載。cow 更適合更改頻率較低但讀取量繁重的工作負載。

hudi 為訪問資料提供三個邏輯檢視:

當您查詢讀取優化的檢視時,查詢將返回所有壓縮資料,但不包括最新的增量提交。查詢此資料可提供良好的讀取效能,但忽略最新的資料。當您查詢實時檢視時,hudi 會在讀取時將壓縮的資料與增量提交合併。最新的資料可用於查詢,但合併的計算開銷使查詢效能降低。通過查詢壓縮資料或實時資料的功能,您可以在查詢時在效能和靈活性之間進行選擇。

有關在儲存型別之間權衡的更多資訊,請參閱 apache hudi 文件中的儲存型別和檢視 。

hudi 在 mor 的 hive 元資料倉中建立兩個表:乙個具有您指定的名稱的表(即讀取優化檢視)和乙個附加了_rt的同名表(即實時檢視)。您可以查詢這兩個表。

當您向 hive 元資料倉註冊 hudi 表時,您可以像對待任何其他表一樣,使用 hive、spark sql 或 presto 查詢 hudi 表。此外,您可以通過將 hive 和 spark 配置為使用 aws glue data catalog 作為元資料倉來將 hudi 與 aws glue 進行整合。對於 mor 表,hudi 將資料集註冊為元資料倉中的兩個表:乙個具有您指定的名稱的表(即讀取優化檢視)和乙個附加了_rt的同名表(即實時檢視)。

當您使用 spark 建立 hudi 資料集時,您可以通過將hive_sync_enabled_opt_key選項設定為"true"並提供其他必需的屬性來向 hive 元資料倉註冊 hudi 表。有關更多資訊,請參閱 使用 hudi 資料集。此外,您可以使用 hive_sync_tool 命令列實用程式將 hudi 資料集單獨註冊為元資料倉中的表。

資料湖 Hudi 原理與相關面試題

本篇面試內容劃重點 表型別 cow mor 查詢型別 檢視 apache hudi 依賴於 hdfs 做底層的儲存,所以可儲存的資料規模是巨大的,同時基於以下兩個原語,hudi 可以將流批一體的儲存問題。hudi 內部對每個表都維護了乙個 timeline,這個 timeline 是由一組作用在某個...

簡述hdfs工作原理 HDFS的工作原理

hdfs 的工作原理 hadoop 分布式檔案系統 hdfs 是一種被設計成適合執行在通用硬體上的分布式檔案系統。hdfs 是乙個高度容錯性的系統,適合部署在廉價的 機器上。它能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。要理解 hdfs 的內部工作原理,首先要理解什麼是分布式 檔案系統。...

ogg mysql的原理 OGG工作原理

一.goldengate介紹 ogg 是一種基於日誌的結構化資料複製軟體 ogg 能夠實現大量交易資料的實時捕捉,變換和投遞,實現源資料庫與目標資料庫的資料同步,保持最少10ms的資料延遲 二.工作原理 三.相關元件 1.manager 負責ogg 整體的監控和管理 1 trail檔案的生成和刪除 ...