Visualizzazione COLUMN_FIELD_PATHS
La visualizzazione INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
contiene una riga per ogni colonna
nidificata all'interno di una colonna RECORD
(o STRUCT
).
Autorizzazioni obbligatorie
Per eseguire una query sulla vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):
bigquery.tables.get
bigquery.tables.list
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
Per maggiori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
I risultati della query contengono una riga per ogni colonna nidificata all'interno di una colonna RECORD
(o STRUCT
).
Quando esegui una query sulla vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, i risultati della query contengono una riga per ogni colonna nidificata all'interno di una colonna RECORD
(o STRUCT
).
La vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
ha il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
TABLE_CATALOG |
STRING |
L'ID del progetto che contiene il set di dati |
TABLE_SCHEMA |
STRING |
Il nome del set di dati che contiene la tabella, indicato anche come datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della vista, denominato anche tableId |
COLUMN_NAME |
STRING |
Il nome della colonna |
FIELD_PATH |
STRING |
Il percorso di una colonna nidificata all'interno di una colonna "RECORD" o "STRUCT" |
DATA_TYPE |
STRING |
Il tipo di dati GoogleSQL della colonna |
DESCRIPTION |
STRING |
La descrizione della colonna |
COLLATION_NAME |
STRING |
Il nome della specifica di confronto, se esistente. In caso contrario, NULL Se viene trasmesso un campo STRING , ARRAY<STRING> o
STRING in un STRUCT , viene restituita la
specifica delle regole di confronto, se esistente; in caso contrario, viene restituito
NULL
|
ROUNDING_MODE |
STRING |
La modalità di arrotondamento utilizzata quando si applicano precisione e scala ai valori NUMERIC o BIGNUMERIC parametrizzati; altrimenti il valore è NULL
|
Ambito e sintassi
Le query in questa visualizzazione devono includere un set di dati o un qualificatore di regione. Per le query con un qualificatore del set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore di regione, devi disporre delle autorizzazioni per il progetto. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente illustra gli ambiti a livello di regione e risorsa per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
A livello di progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Livello set di dati | Posizione del set di dati |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito. REGION
: qualsiasi nome della regione del set di dati. Ad esempio:region-us
.DATASET_ID
: l'ID del set di dati. Per ulteriori informazioni, consulta la sezione Qualificatore del set di dati.
Esempio
L'esempio seguente recupera i metadati dalla vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
per la tabella commits
nel set di dati github_repos
.
Questo set di dati fa parte del programma di set di dati pubblici di BigQuery.
Poiché la tabella su cui stai eseguendo una query si trova in un altro progetto, il progetto bigquery-public-data
, aggiungi l'ID progetto al set di dati nel seguente formato: `project_id`.dataset.INFORMATION_SCHEMA.view
; ad esempio, `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
.
La tabella commits
contiene le seguenti colonne nidificate, nidificate e ripetute:
author
: colonnaRECORD
nidificatacommitter
: colonnaRECORD
nidificatatrailer
: colonnaRECORD
nidificata e ripetutadifference
: colonnaRECORD
nidificata e ripetuta
Per visualizzare i metadati relativi alle colonne author
e difference
, esegui la query riportata di seguito.
SELECT * FROM `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS WHERE table_name = 'commits' AND (column_name = 'author' OR column_name = 'difference');
Il risultato è simile al seguente. Per la leggibilità, alcune colonne sono escluse dal risultato.
+------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+ | 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 | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+