COLUMN_FIELD_PATHS ビュー
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS ビューには、RECORD(または STRUCT)列内にネストされている列ごとに 1 行が表示されます。
必要な権限
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS ビューをクエリするには、次の Identity and Access Management(IAM)権限が必要です。
bigquery.tables.getbigquery.tables.list
次の各 IAM 事前定義ロールには、上の権限が含まれています。
roles/bigquery.adminroles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.metadataViewer
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
クエリ結果には、RECORD(または STRUCT)列内でネストされた列ごとに 1 行が表示されます。
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS ビューにクエリを実行すると、クエリ結果として、RECORD(または STRUCT)列内でネストされた列ごとに 1 行が表示されます。
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
TABLE_CATALOG | 
      STRING | 
      データセットを含むプロジェクトのプロジェクト ID | 
TABLE_SCHEMA | 
      STRING | 
      datasetId とも呼ばれる、テーブルを含むデータセットの名前 | 
    
TABLE_NAME | 
      STRING | 
      テーブルまたはビューの名前(tableId とも呼ばれる) | 
    
COLUMN_NAME | 
      STRING | 
      列の名前 | 
FIELD_PATH | 
      STRING | 
      RECORD 列または STRUCT 列内でネストされた列のパス | 
DATA_TYPE | 
      STRING | 
      列の GoogleSQL データ型 | 
DESCRIPTION | 
      STRING | 
      列の説明 | 
COLLATION_NAME | 
      STRING | 
      
        照合順序の仕様の名前(存在する場合)。それ以外の場合は NULLSTRUCT の STRING、ARRAY<STRING>、または STRING フィールドが渡された場合、照合順序の仕様が存在する場合はそれが返されます。それ以外の場合は、NULL が返されます。 | 
    
ROUNDING_MODE | 
      STRING | 
      
        パラメータ化された NUMERIC 値または BIGNUMERIC 値に精度とスケールを適用するために使用される丸めモード。それ以外の場合は NULL の値になります。 | 
    
POLICY_TAGS | 
      ARRAY<STRING> | 
      列に適用されているポリシータグのリスト | 
スコープと構文
このビューに対するクエリでは、データセット修飾子またはリージョン修飾子を指定する必要があります。データセット修飾子が指定されたクエリの場合は、データセットに対する権限が必要です。リージョン修飾子が指定されたクエリの場合は、プロジェクトに対する権限が必要です。詳細については、構文をご覧ください。次の表に、このビューのリージョン スコープとリソース スコープを示します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS | 
  プロジェクト レベル | REGION | 
  
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS | 
  データセット レベル | データセットのロケーション | 
- 
  省略可: 
PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。 - 
  
REGION: 任意のデータセット リージョン名。例:`region-us` - 
  
DATASET_ID: データセットの ID。詳しくは、データセット修飾子をご覧ください。 
例
次の例では、github_repos データセットにある commits テーブルの INFORMATION_SCHEMA.COLUMN_FIELD_PATHS ビューからメタデータを取得しています。このデータセットは、BigQuery の一般公開データセット プログラムの一部です。
クエリ対象のテーブルは別のプロジェクト(bigquery-public-data プロジェクト)にあるため、この形式 `project_id`.dataset.INFORMATION_SCHEMA.view でプロジェクト ID をデータセットに追加します。例: `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
commits テーブルには、以下のネストされた列と、ネストされた繰り返し列があります。
author: ネストされたRECORD列committer: ネストされたRECORD列trailer: ネストされた繰り返しのRECORD列difference: ネストされた繰り返しのRECORD列
author 列と difference 列に関するメタデータを表示するには、次のクエリを実行します。
SELECT * FROM `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS WHERE table_name = 'commits' AND (column_name = 'author' OR column_name = 'difference');
次のような結果になります。読みやすくするため、一部の列は結果から除外されています。
+------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+ | table_name | column_name | field_path | data_type | description | policy_tags | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+ | commits | author | author | STRUCT<name STRING, email STRING, time_sec INT64, tz_offset INT64, date TIMESTAMP> | NULL | 0 rows | | commits | author | author.name | STRING | NULL | 0 rows | | commits | author | author.email | STRING | NULL | 0 rows | | commits | author | author.time_sec | INT64 | NULL | 0 rows | | commits | author | author.tz_offset | INT64 | NULL | 0 rows | | commits | author | author.date | TIMESTAMP | NULL | 0 rows | | commits | difference | difference | ARRAY<STRUCT<old_mode INT64, new_mode INT64, old_path STRING, new_path STRING, old_sha1 STRING, new_sha1 STRING, old_repo STRING, new_repo STRING>> | NULL | 0 rows | | commits | difference | difference.old_mode | INT64 | NULL | 0 rows | | commits | difference | difference.new_mode | INT64 | NULL | 0 rows | | commits | difference | difference.old_path | STRING | NULL | 0 rows | | commits | difference | difference.new_path | STRING | NULL | 0 rows | | commits | difference | difference.old_sha1 | STRING | NULL | 0 rows | | commits | difference | difference.new_sha1 | STRING | NULL | 0 rows | | commits | difference | difference.old_repo | STRING | NULL | 0 rows | | commits | difference | difference.new_repo | STRING | NULL | 0 rows | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+