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

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