Microsoft Apache Iceberg 開放式數據表格式的 Purview 原生支持處於公開預覽狀態。 Microsoft使用 Microsoft Azure Data Lake Storage (ADLS) Gen2、Microsoft Fabric Lakehouse、Amazon Web Services (AWS) S3 和 Google Cloud Platform (GCP) Google Cloud Storage (GCS) 的客戶,現在可以使用 Microsoft Purview 來策劃、治理及執行 Iceberg 數據資產上的數據健康情況控制和數據質量評估。
Iceberg 檔案結構
Iceberg 數據表不只是數據檔的集合。 它包含各種元數據檔案,可追蹤數據表的狀態,並促進讀取、寫入和架構演進等作業。 以下是 Iceberg 資料表中所涉及重要元件的探索。 Iceberg 數據表中的數據檔通常會以單欄格式儲存,例如 Apache Parquet、Apache Avro 或 Apache Optimized Row Columnar (ORC) 。 這些檔案包含使用者在查詢期間互動的實際數據。
Iceberg 目錄
頂端是 Iceberg 目錄,它會儲存每個數據表的目前元數據指標。 此目錄可藉由參考目前的元數據檔案,來追蹤數據表的最新狀態。
元數據層
元數據層是 Iceberg 功能的核心,由數個主要元素組成:
- 元數據檔案: 此檔案包含數據表架構、數據分割和快照集的相關信息。 在圖表中,s0 指的是快照集,基本上是數據表在指定時間點的狀態記錄。 如果存在多個快照集,例如 s0 和 s1,元數據檔案會追蹤這兩者。
- 指令清單清單: 此清單會指向一或多個指令清單檔案。 指令清單清單可作為這些指令清單的參考容器,並可協助 Iceberg 有效率地管理哪些數據檔應該在不同的作業期間讀取或寫入。 每個快照集可能都有自己的指令清單清單。
數據層
在數據層中,指令清單檔案會作為元數據與實際數據檔之間的媒介。 每個指令清單檔案都會指向數據檔的集合,提供儲存在 Data Lake 中之實體檔案的對應。
- 指令清單檔案:這些檔案會儲存一組數據檔的元數據,包括數據列計數、分割區資訊和檔案路徑。 它們可讓 Iceberg 快速剪除和存取特定檔案,以啟用有效率的查詢。
- 數據文件:實際數據位於這些檔案中,其格式可能是 Parquet、ORC 或 Avro。 Iceberg 會根據數據分割來組織數據檔,藉由將不必要的數據掃描降到最低,在查詢執行期間允許效能優化。
如何一起運作
執行查詢或更新等作業時,Iceberg 會先透過目錄查閱數據表的元數據檔案。 元數據檔案會參考目前的快照集 (或多個快照集) ,然後指向指令清單清單。 指令清單清單包含指令清單檔案的參考,而指令清單檔案接著會列出個別數據檔。 此階層式結構可讓 Iceberg 有效率地管理大型數據集,同時確保交易式一致性,以啟用時間移動和架構演進等功能。
此多層式設計可增強批次和串流作業的效能和延展性,因為只會存取必要的數據檔,而且更新是透過快照集來管理,而不會影響整個數據集。
OneLake 中的 Iceberg 數據
您可以順暢地 跨 Microsoft Fabric 取用 Iceberg 格式的數據 ,而不需要數據移動或重複。 您可以使用 OneLake 快捷方式直接指向資料層。
Iceberg 數據會儲存在 OneLake 中,使用 Snowflake 或其他 Iceberg 寫入器撰寫。 OneLake 會將數據表虛擬化為 Delta Lake 數據表,以確保跨網狀架構引擎的廣泛相容性。 例如,您可以在 Snowflake 中建立磁碟區,並直接指向 Fabric Lakehouse。 在 Fabric OneLake 中建立數據表之後,自動同步可確保即時反映任何數據更新。 此簡化程式有助於在 Microsoft Fabric 中使用 Iceberg 數據。 從 Snowflake 檔取得進一步的詳細數據。
重要事項
AWS S3 和 GCS 中的 Iceberg 數據也需要自動同步處理為差異,以進行策劃、治理,以及測量和監視數據品質。
Iceberg 數據的數據品質
對於在 parquet、ORC (Iceberg 中原生串行化數據的所有使用者,ADLS Gen2 或 Fabric Lakehouse 上的 Avro) 必須直接設定掃描,指向裝載數據和元數據 Iceberg 目錄的目錄位置。 請遵循下列步驟:
在 Microsoft Purview 資料對應 中設定並執行掃描。
將 dir (裝載數據和元數據) 為數據資產,並將它與數據產品產生關聯。 這會形成 Iceberg 數據集。 將 Iceberg 數據資產與 Microsoft Purview 整合式目錄 中的數據產品建立關聯。 瞭解 如何將數據資產與數據產品產生關聯。
在 整合式目錄 中,在 [健康情況管理] 下選取 [數據質量檢視],以尋找您的 Iceberg 檔案 (數據資產) 並設定數據源連線。
3.1 若要設定 AdlsG2 連線, 請遵循 DQ 連線檔中所述的步驟
3.2 若要設定 Fabric OneLake 連線, 請遵循網狀架構數據資產 DQ 檔中所述的步驟。
套用數據質量規則,並針對數據行和數據表層級數據品質評分執行數據質量掃描。
在選取之 Iceberg 檔案的 [架 構 ] 頁面上, (數據資產) ,選取 [ 匯 入架構] 以從 Iceberg 檔案的數據源匯入架構。
執行分析作業或數據質量掃描工作之前,請移至 Iceberg 檔案的 [ 概觀 ] 頁面,然後在 [ 數據資產 ] 下拉功能表中,選取 [Iceberg]。
分析和數據質量掃描
完成連線設定和數據資產檔案格式選取之後,您可以分析、建立和套用規則,以及在 Iceberg 開啟格式檔案中執行資料的數據質量掃描。 請遵循下列檔中所述的逐步指導方針:
重要事項
- 現在已預 覽目錄探索、策劃、數據分析和數據質量掃描功能中的 Iceberg 開放格式支援。
- 針對數據分析和數據質量評估,您需要從 [數據質量架構] 頁面擷取和設定架構。
- 消費者探索體驗:取用者不會在數據資產檢視中看到架構,因為數據對應尚不支援 Iceberg 開啟數據表格式。 數據品質管理人將能夠從 [數據質量架構] 頁面匯入架構。
限制
目前的版本僅支援使用 Apache Hadoop 目錄以 Iceberg 格式建立的數據。
Lakehouse 路徑和 ADLS Gen2 路徑
- Iceberg 元數據會儲存數據和元數據的完整路徑。 請務必使用 ADLS Gen2 和 Microsoft Fabric Lakehouse 的完整路徑。 此外,針對在寫入期間Microsoft Fabric Lakehouse 路徑,請確定作 (寫入、UPSERTS) 標識符路徑。
abfss://c4dd39bb-77e2-43d3-af10-712845dc2179@onelake.dfs.fabric.microsoft.com/5e8ea953-56fc-49c1-bc8c-0b3498cf1a9c/Files/CustomerData
. - 文件系統為Id,Lakehouse為標識碼。絕對且非相對路徑是 Microsoft Purview 在 Iceberg 上執行 DQ 的必要專案。 若要驗證,請務必檢查快照集路徑,以指向完整的完整名稱 (FQN) 路徑。
架構偵測
- 數據對應有無法偵測 Iceberg 架構的限制。 在 Fabric Lakehouse 或 ADLS Gen2 上策劃 Iceberg 目錄時,您將無法檢閱架構。 不過,DQ 擷取架構能夠提取策劃資產的架構。
建議
- 如果您使用 SNOWFLAKE Catalog for Iceberg Format,搭配以磁碟區記憶體作為 ADLS Gen2、AWS S3 或 GCP GCS,請使用 Microsoft Fabric OneLake 數據表快捷方式並執行 DQ 作為 DELTA 數據表。 FYI:僅支援具有 Parquet 檔格式的 Iceberg。
- 如果您搭配 Hadoop 目錄使用適用於 Iceberg Format 的 ADLS,請直接掃描目錄,針對 DQ 使用 DQ 引擎作為 Iceberg 格式的預設值。 FYI:支援具有 Parquet、ORC、Avro 檔案格式的 Iceberg。
- 如果您使用 Snowflake for Iceberg 格式,您可以直接將 VOLUME 記憶體指向 Microsoft Fabric Lakehouse 路徑,然後使用 OneLake 數據表來建立 DQ 的 Delta 兼容版本。 FYI:僅支援具有 Parquet 檔格式的 Iceberg。
- 如果您使用 Microsoft Fabric Lakehouse for Iceberg Format 搭配 Hadoop 目錄,請直接掃描 lakehouse 目錄,並使用 DQ 引擎作為 DQ 的 Iceberg 格式預設值。 FYI:支援具有 Parquet、ORC、Avro 檔案格式的 Iceberg。