データリネージの問題のトラブルシューティング

このページでは、Data Catalog のデータリネージに関する問題を解決する方法について説明します。

プロジェクトの種類

データアセットは異なるプロジェクトに存在する可能性があるため、使用可能なプロジェクトとそのアセット名の概要を以下に示します。

BigQuery ストレージ プロジェクト

このプロジェクトには、BigQuery データアセットが保存されます。アセットの詳細で、Table ID の一部として最初のドットの前に表示されます。

BigQuery UI では、ストレージ プロジェクト名が、完全修飾されたテーブル名の最初のドットの前に [Table ID] フィールドに表示されます。
図 1: BigQuery ストレージ プロジェクトの名前。

コンピューティング プロジェクト

このプロジェクトにはデータリネージのメタデータが保存されます。BigQuery の場合、ここでジョブを実行します。UI からジョブを実行する場合は、プロジェクト セレクタにコンピューティング プロジェクト名が表示されます。

BigQuery UI の SQL クエリを実行するページに、docs-compute というコンピューティング プロジェクトが表示されます。
図 2.BigQuery ジョブを実行するコンピューティング プロジェクトの名前。

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 UI で、docs-source というプロジェクトにある source-001 というデータセットのデータリネージが表示されます。
図 3. Google Cloud コンソールでアクティブなプロジェクト。

BigQuery データリネージが表示されない

BigQuery ジョブの実行後に次の問題が発生します。この場合、次の 3 つのシナリオが考えられます。

ページの下部に「権限がないためリネージを取得できませんでした。」というメッセージが表示された場合は、アクティブなプロジェクトに対する権限がありません。それ以外の場合は、コンピューティング プロジェクトに対する権限がありません。

空のリネージグラフを示すスクリーンショット。
図 4. BigQuery UI にリネージが表示されない例。

この問題を解決するには、まずコンピューティング プロジェクトで Data Lineage API が有効になっていることを確認します。API を有効にしたら、データリネージを確認するためにジョブを実行する必要があります。処理されるデータの量と複雑さに応じて、データリネージが表示されるまでに標準の 30 分から最大 24 時間かかることがあります。

次に、アクティブなプロジェクトで Data Lineage API が有効になっていることを確認します。API を有効にしたら、必要な権限(下記を参照)がある場合はリネージが表示されます。

Data Lineage API が有効になったら、アクティブなプロジェクトとコンピューティング プロジェクトの両方でデータリネージ閲覧者roles/datalineage.viewer)を付与します。

BigQuery プロセスのメタデータが表示されない

問題の説明

次の問題は、テーブルの詳細ペインを開いたときに、SQL ステートメントや Process type プロパティなどのすべての詳細が表示されない場合に発生します。これは、データリネージが正しく表示されている場合でも発生します。

これは、コンピューティング プロジェクトのメタデータを表示する権限がない場合に発生します。

例:

BigQuery プロセスの詳細をクリックすると、次のメッセージが表示されます。

You don't have permission to view BigQuery process metadata in project X.

Google Cloud コンソールの場合:

BigQuery UI の場合、[Lineage] タブの [Details] ペインにエラー メッセージが表示されます。
図 5. BigQuery UI に BigQuery プロセスの詳細が表示されない例。

この問題を解決するには、コンピューティング プロジェクトでユーザーに bigquery.jobs.get 権限(BigQuery リソース閲覧者ロールに含まれる権限など)を付与します。

BigQuery テーブルの詳細が表示されない

次の問題は、テーブルの詳細ペインを開いたときに「完全修飾名」プロパティのみが表示される場合に発生します。これは、データリネージが正しく表示されている場合でも発生します。これは、テーブルのストレージ プロジェクトに必要なすべての権限がない場合に発生します。

例:

この場合、ユーザーが BigQuery ノードの詳細をクリックすると、メッセージ Entry with this fully qualified name is not available in the Data Catalog が表示されます。

空のテーブルパネルを示すスクリーンショット。
図 6. BigQuery UI に BigQuery テーブルの詳細が表示されない例。

この問題を解決するには、ストレージ プロジェクトでユーザー bigquery.tables.get に権限(BigQuery データ閲覧者ロールに含まれる権限など)を付与します。