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
Sostituisci quanto segue:

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: colonna RECORD nidificata
  • committer: colonna RECORD nidificata
  • trailer: colonna RECORD nidificata e ripetuta
  • difference: colonna RECORD 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        |
  +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+