本文說明如何排解及解決 Knowledge Catalog (原稱 Dataplex Universal Catalog) 資料沿襲圖未顯示的最常見問題。解決這些問題可確保您順利追蹤資料移動、瞭解資料來源,以及偵錯資料管道。
專案類型
資料資產可位於不同專案。以下摘要說明可能的專案及其資產名稱。
BigQuery 儲存空間專案
這個專案會儲存 BigQuery 資料資產。你可以在資產詳細資料中找到這組 ID,位於 Table ID 的第一個點之前。
Compute 專案
這個專案會儲存資料歷程中繼資料。 如果是 BigQuery,您可以在這裡執行工作。如果您使用 Google Cloud 控制台執行工作,可以在專案選擇器中找到運算專案名稱:
向 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 資料歷程
執行 BigQuery 工作後,發生下列問題:在這種情況下,問題可能是由下列三種情況所造成:
- 有效專案或運算專案已停用 Data Lineage API。
- 您在有效或 compute 專案中,沒有 Data Lineage 檢視者角色 (
roles/datalineage.viewer)。 - 資料歷程尚未送達。視處理的資料量和複雜度而定,資料沿革最多可能需要 30 分鐘到 24 小時才會顯示。
如果看到「缺少相關權限,無法擷取歷程。」訊息,表示您沒有有效專案的權限。 否則您沒有運算專案的權限。
如要解決這個問題,請檢查運算專案是否已啟用 Data Lineage API。 啟用 API 後,您必須執行工作才能查看資料歷程。 視處理的資料量和複雜度而定,資料歷程最多可能需要 24 小時才會顯示,最快則為 30 分鐘。
接著,請檢查有效專案是否已啟用 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-source.dataset.source-001和docs-target.dataset.target-001之間的資料歷程docs-compute - 您在有效和 compute
docs-compute專案中,具備 Data Lineage 檢視者角色。
點選 BigQuery 程序詳細資料時, Google Cloud 控制台會顯示下列訊息:
You don't have permission to view BigQuery process metadata in project X.
如要解決這個問題,請在運算專案中授予使用者 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- 您在有效和 compute
docs-compute專案中,具備 Data Lineage 檢視者角色。
在本例中,當您按一下 BigQuery 節點詳細資料時,會看到 Entry with this fully qualified name is not available in Knowledge
Catalog or you do not have permissions to view it 訊息。
如要解決這個問題,請在儲存空間專案中授予 bigquery.tables.get 權限 (例如包含在 BigQuery 資料檢視者角色中)。
資料欄層級歷程顯示「沒有可選取的資料欄」
在 Google Cloud 控制台中查看資產時,如果表格層級的歷程圖表顯示正常,但選取資料欄層級的歷程時,系統顯示「沒有可選取的資料欄」訊息,或未顯示資料欄對應資料欄的連結,就會發生下列問題。
這個問題可能發生於下列情況:
- 自訂 OpenLineage 事件:透過 Data Lineage API
ProcessOpenLineageRunEvent端點擷取的事件僅支援資料表層級的歷程。Google Cloud 控制台不會顯示自訂資料欄層級的構面。 - 不支援的資料來源或系統:系統只會為 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 會以「Knowledge Catalog Premium Processing」SKU 計費,但在 Google Cloud 控制台中,這項 API 是獨立管理。停用 Dataplex API 不會停用 Data Lineage API,也不會停止計費。
如要判斷資料歷程是否為產生費用的原因,請在 Cloud Billing 帳單報表中查看標籤 goog-dataplex-workload-type 的值是否為 LINEAGE。
如要停止計費,請在專案中停用 Data Lineage API,關閉資料歷程。