排解資料沿革問題

本文說明如何解決 Dataplex 通用目錄資料系譜的問題。

專案類型

資料資產可位於不同的專案中。以下摘要列出可能的專案和資產名稱。

BigQuery 儲存空間專案

這個專案會儲存您的 BigQuery 資料資產。您可以在資產詳細資料中找到這組編號,位於 Table ID 的第一個點之前。

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

Compute 專案

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

BigQuery UI 會在您執行 SQL 查詢的頁面上,顯示名為 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 使用者介面會顯示資料集資料來源,該資料集名為 source-001,位於名為 docs-source 的專案中。
圖 3. Google Cloud 控制台中的有效專案。

未顯示 BigQuery 資料系譜

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

如果您在頁面底部看到「缺少權限,無法擷取歷程」訊息,表示您沒有有效專案的權限。否則,您就沒有運算專案的權限。

空白的歷程圖。
圖 4. 範例:系統未在 BigQuery UI 中顯示沿革。

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

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

啟用 Data Lineage API 後,請在有效計算專案中授予Data Lineage Viewer 角色 (roles/datalineage.viewer)。

未顯示 BigQuery 程序中繼資料

開啟資料表詳細資料窗格時,會發生下列問題,該窗格不會顯示 SQL 陳述式或 Process type 屬性等所有詳細資料。即使資料沿革圖顯示正確,也會發生這種情況。

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

範例:

  • BigQuery 來源資料表:docs-source.dataset.source-001
  • BigQuery 目標資料表:docs-target.dataset.target-001
  • 運算專案 docs-computedocs-source.dataset.source-001docs-target.dataset.target-001 之間的資料沿革
  • 您擁有資料系譜檢視者角色,可查看有效計算 docs-compute 專案。

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

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

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

未顯示 BigQuery 資料表詳細資料

開啟表格詳細資料窗格時,只會顯示 Fully qualified name 屬性,因此會發生下列問題。即使資料沿革圖顯示正確,也會發生這種情況。如果您沒有表格的儲存空間專案的所有必要權限,就可能發生這種情況。

範例:

  • BigQuery 資料表 docs-source.dataset.source-001
  • BigQuery 資料表 docs-target.dataset.target-001
  • docs-source.dataset.source-001docs-target.dataset.target-001 之間的資料歷程,以及運算專案 docs-compute
  • 您擁有資料系譜檢視者角色,適用於有效計算 docs-compute 專案

在這種情況下,當您點選 BigQuery 節點詳細資料時,會看到訊息 Entry with this fully qualified name is not available in the Dataplex Catalog

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

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