排解資料沿革問題

Knowledge Catalog (舊稱 Dataplex Universal Catalog) 的資料歷程功能可讓您追蹤資料移動、瞭解資料來源,以及偵錯資料管道。如果歷程圖、程序中繼資料、資料表詳細資料或資料欄層級連結未如預期顯示,或出現非預期的 Knowledge Catalog Premium 處理費用,請檢查專案權限、API 設定和支援的工作類型。

如果需要協助解決本文未提及的問題,請參閱「Cloud Customer Care」。

專案類型

資料資產可以位於不同專案。以下摘要說明可能的專案及其資產名稱。

BigQuery 儲存空間專案

這個專案會儲存 BigQuery 資料資產。您可以在素材資源詳細資料中找到這項資訊,其為 Table ID 的一部分,位於第一個點之前。

在 BigQuery UI 中,儲存空間專案名稱會顯示在「Table ID」(資料表 ID) 欄位中,位於完整資料表名稱的第一個點之前。
圖 1. BigQuery 儲存空間專案的名稱。

Compute 專案

這項專案會儲存資料歷程中繼資料。如果是 BigQuery,這就是執行工作的地點。如果您使用Google Cloud 控制台執行工作,可以在專案選取器中找到運算專案名稱:

在執行 SQL 查詢的頁面上,BigQuery UI 會顯示名為 docs-compute 的運算專案。
圖 2. 執行 BigQuery 工作的運算專案名稱。

向 BigQuery API 傳送要求時,請在網址中指定運算專案,例如:

POST /bigquery/v2/projects/docs-compute/jobs HTTP/1.1
Host: bigquery.googleapis.com
User-Agent: Go-http-client/1.1
Authorization: <REDACTED 1031 BYTES>
Accept-Encoding: gzip
{
  "configuration": {
    "query": {
      "useLegacySql": false,
      "query": "CREATE OR REPLACE TABLE `docs-target.dataset.target-002` AS SELECT * FROM `docs-source.dataset.source-002`;"
    }
  },
  "jobReference": {
    "projectId": "docs-compute",
    "jobId": "docs-compute-job-id",
    "location": "us",
  }
}

使用中的專案

這是您查看資料歷程的專案。Google Cloud 控制台會在專案選取器中顯示使用中的專案。如果您使用的是 API,則使用中的專案就是您發出 API 呼叫的專案。

BigQuery UI 顯示名為 source-001 的資料集資料歷程,該資料集位於名為 docs-source 的專案中。
圖 3. Google Cloud 控制台中的使用中專案。

未顯示 BigQuery 資料歷程

執行 BigQuery 工作後,發生下列問題。在這種情況下,問題可能由三種情況造成:

如果看到「缺少相關權限,無法擷取歷程」訊息,代表您缺少使用中專案的權限。否則,您缺少運算專案的權限。

空白歷程圖。
圖 4. BigQuery UI 未顯示歷程的範例。

如要解決這個問題,請檢查運算專案是否已啟用 Data Lineage API。啟用 API 後,您需要執行工作,才能查看資料歷程。視處理資料的數量和複雜程度而定,資料歷程可能需要 30 分鐘到 24 小時才會顯示。

接著,檢查有效專案是否已啟用 Data Lineage API。

啟用 Data Lineage API 後,請在有效和運算專案中,授予資料歷程檢視者角色 (roles/datalineage.viewer)。

未顯示 BigQuery 程序中繼資料

開啟資料表詳細資料窗格時,會發生下列問題:窗格未顯示所有詳細資料,例如 SQL 陳述式或 Process type 屬性。即使資料歷程顯示正常,也會發生這種情況。

如果您沒有查看運算專案中繼資料的權限,就可能發生這種情況。

範例:

  • BigQuery 來源資料表:docs-source.dataset.source-001
  • BigQuery 目標資料表:docs-target.dataset.target-001
  • 運算專案 docs-compute 中 docs-source.dataset.source-001 和 docs-target.dataset.target-001 之間的資料歷程
  • 您具備活動和運算 docs-compute專案的資料歷程檢視者角色。

點選 BigQuery 程序詳細資料, Google Cloud 控制台會顯示下列訊息:

You don't have permission to view BigQuery process metadata in project X.
在 BigQuery UI 的「歷程」分頁中,「詳細資料」窗格會顯示錯誤訊息。
圖 5. BigQuery UI 未顯示 BigQuery 程序詳細資料的範例。

如要解決這個問題,請在運算專案中,將 bigquery.jobs.get 權限 (例如 BigQuery 資源檢視者角色包含的權限) 授予使用者。

未顯示 BigQuery 資料表詳細資料

開啟資料表詳細資料窗格時,會發生下列問題,只顯示 Fully qualified name 屬性。即使資料歷程顯示正常,也會發生這種情況。如果未具備資料表儲存專案的所有必要權限,就可能發生這種情況。

範例:

  • BigQuery 資料表 docs-source.dataset.source-001
  • BigQuery 資料表 docs-target.dataset.target-001
  • docs-source.dataset.source-001和docs-target.dataset.target-001之間的資料歷程,運算專案為 docs-compute
  • 您具備活動和運算 docs-compute專案的資料歷程檢視者角色。

在這種情況下,當您點選 BigQuery 節點詳細資料時,會看到 Entry with this fully qualified name is not available in Knowledge Catalog or you do not have permissions to view it 訊息。

未顯示 BigQuery 資料表詳細資料。
圖 6. BigQuery UI 未顯示 BigQuery 資料表詳細資料的範例。

如要解決這個問題,請在儲存空間專案中授予 bigquery.tables.get 權限 (例如 BigQuery 資料檢視者角色所含的權限)。

資料欄層級歷程顯示「沒有可選取的資料欄」

在 Google Cloud 控制台查看資產時,資料表層級歷程圖會正常顯示,但選取資料欄層級歷程時,系統會顯示「沒有可選取的資料欄」訊息,或未顯示資料欄之間的連結。

這個問題可能在下列情況發生:

  • 自訂 OpenLineage 事件:透過 Data Lineage API ProcessOpenLineageRunEvent 端點擷取的事件,僅支援資料表層級歷程。Google Cloud 控制台不會顯示自訂欄層級 facet。
  • 不支援的資料來源或系統:只有 BigQuery SQL 轉換和 Managed Service for Apache Spark 工作,才會產生資料欄層級歷程圖。其他整合系統 (例如 Cloud Data Fusion 和 Vertex AI) 僅支援資料表層級歷程。
  • 不支援的 BigQuery 工作類型:系統不會收集 BigQuery 載入工作、複製工作或常式的資料欄層級歷程。
  • 外部資料表:系統不會收集外部資料表的上游資料欄層級歷程。
  • 非結構化或儲存空間層級資產:雖然檔案型資產 (例如原始 Cloud Storage 檔案或 bucket) 通常不具結構,但如果資料歷程系統收到資料欄層級歷程,則可顯示這些資產的資料欄。如果系統未回報檔案資產的資料欄層級歷程,您就無法選取任何資料欄。
  • 複雜的巢狀類型:資料欄層級歷程僅追蹤頂層資料欄。您無法個別選取巢狀結構在複雜資料類型 (例如 STRUCT 或 JSON) 中的欄位。
  • 分區虛擬資料欄:資料欄層級歷程圖不支援系統分區資料欄 (例如 _PARTITIONDATE 和 _PARTITIONTIME)。
  • 超出連結限制:如果轉換工作產生超過 1,500 個資料欄層級連結,Knowledge Catalog 會略過資料欄層級歷程收集,僅保留資料表層級歷程。
  • 跨組織資產:如果歷程路徑周遊位於其他組織的資產,而您不屬於該資產所在的組織,則無法存取結構定義和資料欄詳細資料。

Knowledge Catalog 進階處理作業產生不明費用

您停用了 Dataplex API (dataplex.googleapis.com) 以停止計費,但仍持續看到「Knowledge Catalog Premium Processing」SKU 的每日費用。

如果 Data Lineage API (datalineage.googleapis.com) 仍處於啟用狀態,就可能發生這個問題。Data Lineage API 的計費 SKU 為「Knowledge Catalog Premium Processing」,但在 Google Cloud 控制台中是獨立管理的 API。停用 Dataplex API 不會停用 Data Lineage API,也不會停止計費。

如要確認費用是否來自資料歷程,請查看 Cloud Billing 帳單報表,找出值為 LINEAGE 的標籤 goog-dataplex-workload-type。

如要停止計費,請在專案中停用 Data Lineage API,關閉資料歷程。