このドキュメントでは、Knowledge Catalog(以前の Dataplex Universal Catalog)のデータリネージグラフが表示されないというよくある問題のトラブルシューティングと解決に役立つ情報を提供します。これらの問題を解決することで、データ移動を正常に追跡し、データの出所を把握し、データ パイプラインをデバッグできます。
プロジェクトの種類
データアセットは異なるプロジェクトに存在できます。使用可能なプロジェクトとそのアセット名の概要は次のとおりです。
BigQuery ストレージ プロジェクト
このプロジェクトには、BigQuery データアセットが保存されます。アセットの詳細で、Table ID の一部として最初のドットの前に表示されます。
コンピューティング プロジェクト
このプロジェクトには、データリネージのメタデータが保存されます。BigQuery の場合、ここでジョブを実行します。 Google Cloud コンソールを使用してジョブを実行する場合は、プロジェクト セレクタでコンピューティング プロジェクト名を確認できます。
BigQuery API にリクエストを送信する場合は、URL にコンピューティング プロジェクトを指定します。次に例を示します。
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 ジョブの実行後に次の問題が発生します。この場合、次の 3 つのシナリオが考えられます。
- アクティブなプロジェクトまたはコンピューティング プロジェクトで Data Lineage API が無効になっている。
- アクティブなプロジェクトまたはコンピューティング プロジェクトにデータリネージ閲覧者のロール(
roles/datalineage.viewer)がない。 - データリネージがまだ到着していない。処理されるデータの量と複雑さに応じて、データリネージが表示されるまでに 30 分から 24 時間かかることがあります。
「権限がないためリネージを取得できませんでした。」というメッセージが表示された場合は、アクティブなプロジェクトに対する権限がありません。そうでない場合は、コンピューティング プロジェクトに対する権限がありません。
この問題を解決するには、まずコンピューティング プロジェクトで 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.jobs.get 権限(BigQuery リソース閲覧者ロールに含まれる権限など)を付与します。
BigQuery テーブルの詳細が表示されない
次の問題は、テーブルの詳細ペインを開いたときに発生し、Fully qualified name プロパティのみが表示されます。これは、データリネージが正しく表示されている場合でも発生します。これは、テーブルのストレージ プロジェクトで必要な権限をすべて持っていない場合に発生することがあります。
例:
- 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 ノードの詳細をクリックすると、メッセージ 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 データ閲覧者ロールに含まれる権限など)を付与します。
Knowledge Catalog Premium 処理の予期しない請求
料金の発生を停止するために 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 レポートで、値 LINEAGE のラベル goog-dataplex-workload-type を確認します。
課金を停止するには、プロジェクトで Data Lineage API を無効にして、データリネージをオフにします。