このドキュメントでは、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 Dataplex
Universal Catalog or you do not have permissions to view it が表示されます。
この問題を解決するには、ストレージ プロジェクトで bigquery.tables.get 権限(BigQuery データ閲覧者のロールに含まれる権限など)を付与します。