關於資料歷程

資料歷程是追蹤資料完整生命週期的視覺化地圖。這項功能會顯示資料來源、傳輸目的地,以及過程中發生的所有變更或轉換。

您可以在Google Cloud 控制台中,直接查看資料歷程的完整地圖,瞭解在 Knowledge Catalog (舊稱 Dataplex Universal Catalog)、BigQuery 和 Vertex AI 等產品中建立的資產。進階使用者也可以使用 Data Lineage API 擷取這項資訊。

為什麼需要資料歷程

現代企業會不斷移動及變更大量資料。舉例來說,將原始顧客購買資料轉換為報表、資訊主頁和機器學習模型。這種複雜性會為團隊帶來重大挑戰:

  • 信任和驗證:資料使用者經常難以確認所見的報表和數字是否準確,以及是否來自可信來源。

  • 疑難排解:如果最終報表出現錯誤,資料團隊可能難以追溯每個步驟,找出問題的根本原因,而且會耗費大量時間。

  • 變更管理:變更或刪除資料 (例如資料表中的資料欄) 前,團隊必須瞭解所有依附於該資料的下游報表或模型,以免重要系統發生錯誤。

  • 法規遵循:領導者需要掌握整個機構如何使用機密資料 (例如客戶或財務資訊),以符合法規要求。

資料沿襲會提供清楚、視覺化且有記錄的資料歷程,解決上述問題。這項功能可協助您快速瞭解資料來源、追蹤錯誤、評估變更的影響,以及維持法規遵循狀態。

資料歷程工作流程

資料歷程工作流程包含下列步驟:

  1. 資料來源和擷取:資料來源的沿襲資訊會啟動整個程序。詳情請參閱「沿襲來源」。

    • Google Cloud 服務:啟用 Data Lineage API 後,BigQuery 和 Dataflow 等支援的服務會在資料移動或轉換時,自動回報沿襲事件。

    • 自訂來源:如果系統未自動支援整合,您可以使用 Data Lineage API 手動記錄歷程資訊。Google Cloud 建議您匯入根據 OpenLineage 標準格式化的事件。

  2. 沿襲平台:這個中央平台會擷取、建立模型及儲存所有沿襲資料。詳情請參閱「沿襲資訊模型和精細度」。

    • Data Lineage API:這個 API 是所有傳入歷程資訊的單一進入點。它使用階層式資料模型,包含程序、執行作業和事件這三項核心概念。

    • 處理和儲存:平台會處理傳入的資料,並儲存在可靠且經過查詢最佳化的資料庫中。

  3. 使用者體驗:您可以透過兩種主要方式與儲存的沿襲資訊互動:

    • 視覺化探索:在 Google Cloud 控制台中,前端服務會擷取並將沿襲資料呈現為互動式圖表或清單。這項功能支援 Knowledge Catalog、BigQuery 和 Vertex AI (適用於模型、資料集、特徵儲存庫檢視畫面和特徵群組)。非常適合以視覺化方式探索資料歷程。詳情請參閱控制台中的資料歷程檢視畫面。 Google Cloud

    • 程式輔助存取:使用 API 用戶端,您可以直接與 Data Lineage API 通訊,自動管理歷程。您可藉此從自訂來源寫入沿襲資訊。您也可以讀取及查詢儲存的沿襲資料,以便用於其他應用程式或建構自訂報表。

歷程來源

您可以使用下列方式在 Knowledge Catalog 中填入歷程資訊:

  • 自動從整合式服務 Google Cloud 匯入
  • 手動,使用自訂來源的 Data Lineage API
  • 從 OpenLineage 匯入事件

BigQuery

在 BigQuery 專案中啟用資料沿襲功能後,Knowledge Catalog 會自動記錄下列項目的沿襲資訊:

BigQuery 複製、查詢和載入工作會以程序表示。

如要查看程序詳細資料,請在沿襲圖中按一下「程序詳細資料」圖示 程序詳細資料圖示

每個程序都包含最新 BigQuery 工作的 attributes 清單中的 BigQuery job_id

其他服務

資料歷程支援與下列Google Cloud 服務整合:

自訂資料來源的資料歷程

如果整合系統不支援某個資料來源,您可以使用 Data Lineage API 手動記錄該來源的歷程資訊。

如果您使用與現有 Knowledge Catalog 項目完整名稱相符的 fullyQualifiedName,Knowledge Catalog 就能為手動記錄的沿襲建立沿襲圖。如要記錄自訂資料來源的沿襲,請先建立自訂項目

自訂資料來源的每個程序都可以在屬性清單中包含 sql 鍵。這個鍵的值可用於在資料沿襲圖的詳細資料面板中,算繪程式碼螢光標示。系統會顯示您提供的 SQL 陳述式。您必須負責濾除機密資訊。金鑰名稱 sql 區分大小寫。

OpenLineage

如果您已使用 OpenLineage 從其他資料來源收集歷程資訊,可以將 OpenLineage 事件匯入 Knowledge Catalog,並在 Google Cloud 控制台中查看這些事件。詳情請參閱「與 OpenLineage 整合」。

自動追蹤資料歷程

啟用 Data Lineage API 後,支援資料歷程的系統就會開始回報資料移動情形。 Google Cloud 每個整合系統都可以提交不同範圍資料來源的沿襲資訊。

控管沿襲擷取作業

您可以啟用或停用特定整合的沿襲資料擷取功能,藉此控管哪些 Google Cloud 服務會產生沿襲資料。您可以在機構、資料夾和專案層級控管沿襲資料的擷取作業。在預先發布期間,這項功能僅支援為 Managed Service for Apache Spark 設定沿襲資料擷取作業。如果您停用 Managed Service for Apache Spark 的沿襲資料擷取功能,系統也會停用 Managed Service for Apache Spark 的沿襲資料擷取功能。

知識目錄會評估資源階層 (專案、資料夾,然後是機構),判斷有效設定。系統會採用在向上遍歷過程中,於任何層級明確設定的第一個設定。

  • 如果您在專案層級設定設定,知識目錄就會使用該設定。
  • 如果專案層級未設定任何項目,Knowledge Catalog 會使用最接近的父項資料夾設定。
  • 如果專案或資料夾層級未設定任何項目,Knowledge Catalog 會使用機構層級的設定。
  • 如果未在任何層級設定,知識目錄會使用整合的系統預設值。預設的沿襲啟用設定可以是「已啟用」或「已停用」。對於 Managed Service for Apache Spark,如果 Data Lineage API 處於啟用狀態,系統預設會啟用歷程資料擷取功能。

舉例來說,假設機構 test-org 具有下列 Managed Service for Apache Spark 沿襲設定:

  • 機構 test-org已啟用
    • 資料夾 folder-a已停用
      • 專案 project-a:未設定任何設定
    • 資料夾 folder-b已啟用
      • 專案 project-b已停用

在這個情境中,適用下列設定:

  • 對於 project-a,沿襲資料擷取功能已停用。 Knowledge Catalog 會從 project-a 開始評估,但找不到任何設定,因此會移至 folder-a,並套用 folder-a 的「已停用」設定。
  • 對於 project-b,沿襲資料擷取功能已停用。 Knowledge Catalog 會從 project-b 開始評估,並套用 已停用設定,覆寫 folder-btest-org 的設定。

控管歷程資料的產生方式,有助於管理成本和治理政策。舉例來說,您可以針對不需要沿襲追蹤的開發專案或大量工作負載,停用沿襲收集功能。

如要瞭解如何設定及控管沿襲資料擷取作業,請參閱「控管服務的沿襲資料擷取作業」。

限制

資料沿襲具有下列限制:

  • 系統只會保留所有沿襲資訊 30 天。

  • 刪除相關資料來源後,歷程資訊仍會保留。舉例來說,如果您刪除 BigQuery 資料表,最多 30 天內仍可透過 API 和控制台查看其沿襲。

  • 資料歷程不會自動記錄 BigQuery 常式的直接歷程資訊。如果查詢中使用常式,資料沿襲會記錄常式讀取的資料表之間的沿襲,做為查詢寫入資料表的依附元件。

資料欄層級歷程限制

資料欄層級沿襲有下列額外限制:

  • 系統不會收集 BigQuery 載入工作或常式的資料欄層級沿襲資訊。

  • 系統不會收集外部資料表的上游資料欄層級沿襲。

  • 如果工作建立超過 1,500 個資料欄層級連結,系統就不會收集資料欄層級歷程。在這些情況下,系統只會收集表格層級的沿襲資訊。

  • 沒有 API 可用於建立、讀取、更新、刪除或搜尋資料欄層級的沿襲。

  • 由於沿襲圖中無法辨識 _PARTITIONDATE_PARTITIONTIME 等分區資料欄,因此分區資料表支援功能有限。

  • 控制台限制:

    • 歷程圖的遍歷深度上限為 20 個層級,每個方向的連結上限為 10,000 個。

    • 系統只會從根表格所在的區域擷取資料欄層級的沿襲資訊。圖表檢視畫面不支援跨區域沿襲。

定價

  • Knowledge Catalog 會使用進階處理 SKU,收取資料歷程費用。詳情請參閱這篇文章,瞭解定價相關資訊。

  • 如要在 Knowledge Catalog 進階處理 SKU 中,將資料沿革費用與其他費用分開,請在 Cloud Billing 報表中使用標籤 goog-dataplex-workload-type,並將值設為 LINEAGE

  • 如果您使用 CUSTOM 以外的值呼叫 Data Lineage API Origin sourceType,就會產生額外費用。

後續步驟