Vue COLUMN_FIELD_PATHS
La vue INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
contient une ligne pour chaque colonne imbriquée dans une colonne RECORD
(ou STRUCT
).
Autorisations requises
Pour interroger la vue INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, vous avez besoin des autorisations IAM (Identity and Access Management) suivantes :
bigquery.tables.get
bigquery.tables.list
Chacun des rôles IAM prédéfinis suivants inclut les autorisations ci-dessus :
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.
Schéma
Les résultats de la requête contiennent une ligne pour chaque colonne imbriquée dans une colonne RECORD
(ou STRUCT
).
Lorsque vous interrogez la vue INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, les résultats de la requête contiennent une ligne pour chaque colonne imbriquée dans une colonne RECORD
(ou STRUCT
).
La vue INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
présente le schéma suivant :
Nom de la colonne | Type de données | Valeur |
---|---|---|
TABLE_CATALOG |
STRING |
ID du projet qui contient l'ensemble de données |
TABLE_SCHEMA |
STRING |
Nom de l'ensemble de données contenant la table, également appelé datasetId |
TABLE_NAME |
STRING |
Nom de la table ou de la vue, également appelé tableId |
COLUMN_NAME |
STRING |
Nom de la colonne |
FIELD_PATH |
STRING |
Chemin d'accès à une colonne imbriquée dans une colonne RECORD (ou STRUCT) |
DATA_TYPE |
STRING |
Type de données GoogleSQL de la colonne |
DESCRIPTION |
STRING |
Description de la colonne |
COLLATION_NAME |
STRING |
Nom de la spécification de classement si elle existe. Dans le cas contraire, NULL Si un champ STRING , ARRAY<STRING> ou STRING d'un élément STRUCT est transmis, la spécification de classement est renvoyée si elle existe. Sinon, NULL est renvoyé.
|
ROUNDING_MODE |
STRING |
Mode d'arrondi utilisé lors de l'application de la précision et de l'échelle à des valeurs NUMERIC ou BIGNUMERIC paramétrées. Sinon, la valeur est NULL .
|
Champ d'application et syntaxe
Les requêtes exécutées sur cette vue doivent inclure un ensemble de données ou un qualificatif de région. Pour les requêtes avec un qualificatif d'ensemble de données, vous devez disposer d'autorisations pour l'ensemble de données. Pour les requêtes avec un qualificatif de région, vous devez disposer des autorisations nécessaires sur le projet. Pour en savoir plus, consultez la section Syntaxe. Le tableau suivant explique la portée des régions et des ressources pour cette vue :
Nom de la vue | Champ d'application de la ressource | Champ d'application de la région |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Niveau Projet | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Niveau de l'ensemble de données | Emplacement d'un ensemble de données |
- Facultatif :
PROJECT_ID
: ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.
REGION
: nom de la région de l'ensemble de données.
Par exemple, region-us
.
+ DATASET_ID
: ID de votre ensemble de données. Pour en savoir plus, consultez la section Qualificatif d'ensemble de données.
Exemple
L'exemple suivant récupère les métadonnées de la vue INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
pour la table commits
de l'ensemble de données github_repos
.
Celui-ci fait partie du programme d'ensembles de données publics de BigQuery.
Comme la table que vous interrogez se trouve dans un autre projet (bigquery-public-data
), vous ajoutez l'ID de projet à l'ensemble de données, en respectant le format `project_id`.dataset.INFORMATION_SCHEMA.view
. Par exemple : `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
.
La table commits
contient les colonnes imbriquées ainsi que les colonnes imbriquées et répétées suivantes :
author
: colonne imbriquéeRECORD
committer
: colonne imbriquéeRECORD
trailer
: colonne imbriquée et répétéeRECORD
difference
: colonne imbriquée et répétéeRECORD
Pour afficher les métadonnées des colonnes author
et difference
, exécutez la requête suivante.
SELECT * FROM `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS WHERE table_name = 'commits' AND (column_name = 'author' OR column_name = 'difference');
Le résultat ressemble à ce qui suit. Pour des raisons de lisibilité, certaines colonnes sont exclues des résultats.
+------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+ | table_name | column_name | field_path | data_type | description | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+ | commits | author | author | STRUCT<name STRING, email STRING, time_sec INT64, tz_offset INT64, date TIMESTAMP> | NULL | | commits | author | author.name | STRING | NULL | | commits | author | author.email | STRING | NULL | | commits | author | author.time_sec | INT64 | NULL | | commits | author | author.tz_offset | INT64 | NULL | | commits | author | author.date | TIMESTAMP | NULL | | 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 | | commits | difference | difference.old_mode | INT64 | NULL | | commits | difference | difference.new_mode | INT64 | NULL | | commits | difference | difference.old_path | STRING | NULL | | commits | difference | difference.new_path | STRING | NULL | | commits | difference | difference.old_sha1 | STRING | NULL | | commits | difference | difference.new_sha1 | STRING | NULL | | commits | difference | difference.old_repo | STRING | NULL | | commits | difference | difference.new_repo | STRING | NULL | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+