このページでは、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 データ閲覧者のロールなど)を付与します。