このページでは、Data Catalog のデータリネージに関する問題を解決する方法について説明します。
プロジェクトの種類
データアセットは異なるプロジェクトに存在する可能性があるため、使用可能なプロジェクトとそのアセット名の概要を以下に示します。
BigQuery ストレージ プロジェクト
このプロジェクトには、BigQuery データアセットが保存されます。アセットの詳細で、Table ID
の一部として最初のドットの前に表示されます。
コンピューティング プロジェクト
このプロジェクトにはデータリネージのメタデータが保存されます。BigQuery の場合、ここでジョブを実行します。UI からジョブを実行する場合は、プロジェクト セレクタにコンピューティング プロジェクト名が表示されます。
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 が有効になっていることを確認します。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 プロセスの詳細をクリックすると、次のメッセージが表示されます。
You don't have permission to view BigQuery process metadata in project X.
Google Cloud コンソールの場合:
この問題を解決するには、コンピューティング プロジェクトでユーザーに bigquery.jobs.get
権限(BigQuery リソース閲覧者ロールに含まれる権限など)を付与します。
BigQuery テーブルの詳細が表示されない
次の問題は、テーブルの詳細ペインを開いたときに「完全修飾名」プロパティのみが表示される場合に発生します。これは、データリネージが正しく表示されている場合でも発生します。これは、テーブルのストレージ プロジェクトに必要なすべての権限がない場合に発生します。
例:
- 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 the Data Catalog
が表示されます。
この問題を解決するには、ストレージ プロジェクトでユーザー bigquery.tables.get
に権限(BigQuery データ閲覧者ロールに含まれる権限など)を付与します。