Visualizzazione COLUMN_FIELD_PATHS
La vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
contiene una riga per ogni colonna
nidificato all'interno di una colonna RECORD
(o STRUCT
).
Autorizzazioni obbligatorie
Per eseguire una query sulla vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, è necessario quanto segue
Autorizzazioni IAM (Identity and Access Management):
bigquery.tables.get
bigquery.tables.list
Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazioni:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
I risultati della query contengono una riga per ogni colonna
nidificati all'interno di un oggetto RECORD
(o
STRUCT
).
Quando esegui una query sulla vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, la query
risultati contengono una riga per ogni colonna
nidificati all'interno di 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, chiamata anche
datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della vista indicato anche come tableId |
COLUMN_NAME |
STRING |
Il nome della colonna |
FIELD_PATH |
STRING |
Il percorso di una colonna nidificato in una colonna "RECORD" o "STRUCT" |
DATA_TYPE |
STRING |
Il codice GoogleSQL della colonna tipo di dati |
DESCRIPTION |
STRING |
La descrizione della colonna |
COLLATION_NAME |
STRING |
Il nome della specifica di confronto
se esiste; altrimenti NULL Se STRING , ARRAY<STRING> o
Viene passato un campo STRING in un STRUCT , il valore
la specifica delle regole di confronto viene restituita, se esistente; altrimenti
Viene restituito NULL
|
ROUNDING_MODE |
STRING |
La modalità di arrotondamento utilizzata quando si applicano precisione e scala a
valori NUMERIC o BIGNUMERIC con parametri;
altrimenti il valore è NULL
|
Ambito e sintassi
Le query su questa vista devono includere un set di dati o un qualificatore di regione. Per con un qualificatore del set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore della regione, devi disporre delle autorizzazioni per il progetto. Per maggiori informazioni per le informazioni, consulta Sintassi. La tabella seguente illustra gli ambiti delle risorse e delle regioni per questa vista:
Nome vista | Ambito risorsa | Ambito della regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Livello di progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Livello del 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 maggiori informazioni consulta la sezione Qualificatore del set di dati.
Esempio
L'esempio seguente recupera i metadati
INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
visualizzazione per la tabella commits
in
github_repos
set di dati.
Questo set di dati fa parte di BigQuery
programma set di dati pubblici.
Poiché la tabella su cui stai eseguendo query si trova in un altro progetto,
bigquery-public-data
, aggiungi l'ID progetto al set di dati nella
seguente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
ad esempio
`bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
.
La tabella commits
contiene i seguenti elementi nidificati, nidificati e ripetuti
colonne:
author
: colonnaRECORD
nidificatacommitter
: colonnaRECORD
nidificatatrailer
: colonnaRECORD
nidificata e ripetutadifference
: colonnaRECORD
nidificata e ripetuta
Per visualizzare i metadati relativi alle colonne author
e difference
, esegui questa query.
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 migliorare la leggibilità, alcune colonne 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 | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+