Visualizzazione TABLE_OPTIONS
La visualizzazione INFORMATION_SCHEMA.TABLE_OPTIONS
contiene una riga per ogni opzione, per ogni tabella o visualizzazione in un set di dati. Le visualizzazioni TABLES
e TABLE_OPTIONS
contengono anche informazioni di alto livello sulle visualizzazioni.
Per informazioni dettagliate, esegui una query sulla vista INFORMATION_SCHEMA.VIEWS
.
Autorizzazioni obbligatorie
Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.TABLE_OPTIONS
, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla vista INFORMATION_SCHEMA.TABLE_OPTIONS
, i risultati della query contengono una riga per ogni opzione, per ogni tabella o vista in un set di dati. Per informazioni dettagliate sulle visualizzazioni, esegui una query sulla visualizzazione INFORMATION_SCHEMA.VIEWS
.
La vista INFORMATION_SCHEMA.TABLE_OPTIONS
ha lo schema seguente:
Nome colonna | Tipo di dati | Valore |
---|---|---|
TABLE_CATALOG |
STRING |
L'ID del progetto contenente il set di dati |
TABLE_SCHEMA |
STRING |
Il nome del set di dati che contiene la tabella o la vista, chiamato anche datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della visualizzazione, chiamato anche tableId |
OPTION_NAME |
STRING |
Uno dei valori di nome nella tabella delle opzioni |
OPTION_TYPE |
STRING |
Uno dei valori del tipo di dati nella tabella delle opzioni |
OPTION_VALUE |
STRING |
Una delle opzioni di valore nella tabella delle opzioni |
Tabella delle opzioni
|
|
|
---|---|---|
|
|
Una descrizione della tabella |
|
|
Indica se l'aggiornamento automatico è abilitato per una vista materializzata |
|
|
L'ora di scadenza di questa tabella |
|
|
Il nome descrittivo della tabella |
|
|
Il nome della chiave Cloud KMS utilizzata per criptare la tabella |
|
|
Un array di STRUCT che rappresentano le etichette nella tabella |
|
|
La durata predefinita, in giorni, di tutte le partizioni di una tabella partizionata |
|
|
La frequenza di aggiornamento di una vista materializzata |
|
|
Indica se le query sulla tabella richiedono un filtro di partizionamento |
|
|
Tag associati a una tabella in una sintassi <key, value> con spazio dei nomi. Per ulteriori informazioni, consulta Tag e accesso condizionale. |
Per le tabelle esterne sono possibili le seguenti opzioni:
Opzioni | |
---|---|
allow_jagged_rows |
Se Si applica ai dati CSV. |
allow_quoted_newlines |
Se Si applica ai dati CSV. |
bigtable_options |
Obbligatorio solo per la creazione di una tabella esterna Bigtable. Specifica lo schema della tabella esterna Bigtable in formato JSON. Per un elenco delle opzioni di definizione della tabella Bigtable, consulta
|
column_name_character_map |
Definisce l'ambito dei caratteri supportati per i nomi colonna e la modalità di gestione dei caratteri non supportati. L'impostazione predefinita è
I valori supportati sono:
Si applica ai dati CSV e Parquet. |
compression |
Il tipo di compressione dell'origine dati. I valori supportati includono:
Si applica ai dati CSV e JSON. |
decimal_target_types |
Determina come convertire un tipo Esempio: |
description |
Una descrizione di questa tabella. |
enable_list_inference |
Se Si applica ai dati Parquet. |
enable_logical_types |
Se Si applica ai dati Avro. |
encoding |
La codifica dei caratteri dei dati. I valori supportati includono:
Si applica ai dati CSV. |
enum_as_string |
Se Si applica ai dati Parquet. |
expiration_timestamp |
L'ora di scadenza della tabella. Se non è specificato, la tabella non scade. Esempio: |
field_delimiter |
Il separatore per i campi in un file CSV. Si applica ai dati CSV. |
format |
Il formato dei dati esterni.
I valori supportati per
I valori supportati per
Il valore |
hive_partition_uri_prefix |
Un prefisso comune per tutti gli URI di origine prima dell'inizio della codifica della chiave di partizione. Si applica solo alle tabelle esterne partizionate Hive. Si applica ai dati Avro, CSV, JSON, Parquet e ORC. Esempio: |
file_set_spec_type |
Specifica come interpretare gli URI di origine per i job di caricamento e le tabelle esterne. I valori supportati sono:
Ad esempio, se hai un URI di origine |
ignore_unknown_values |
Se Si applica ai dati CSV e JSON. |
json_extension |
Per i dati JSON, indica un determinato formato di interscambio JSON. Se non viene specificato, BigQuery legge i dati come record JSON generici. I valori supportati includono: |
max_bad_records |
Il numero massimo di record errati da ignorare durante la lettura dei dati. Si applica a: dati CSV, JSON e di Fogli Google. |
max_staleness |
Applicabile per tabelle BigLake e tabelle degli oggetti. Specifica se i metadati memorizzati nella cache vengono utilizzati dalle operazioni sulla tabella e quanto devono essere aggiornati per poter essere utilizzati dall'operazione. Per disattivare la memorizzazione nella cache dei metadati, specifica 0. Questa è l'impostazione predefinita. Per attivare la memorizzazione nella cache dei metadati, specifica un valore di letterale intervallo compreso tra 30 minuti e 7 giorni. Ad esempio, specifica
|
null_marker |
La stringa che rappresenta i valori Si applica ai dati CSV. |
object_metadata |
Obbligatorio solo per la creazione di una tabella di oggetti. Imposta il valore di questa opzione su |
preserve_ascii_control_characters |
Se Si applica ai dati CSV. |
projection_fields |
Un elenco di proprietà delle entità da caricare. Si applica ai dati di Datastore. |
quote |
La stringa utilizzata per citare le sezioni di dati in un file CSV. Se i dati contengono caratteri di a capo tra virgolette, imposta anche la proprietà Si applica ai dati CSV. |
reference_file_schema_uri |
File di riferimento fornito dall'utente con lo schema della tabella. Si applica ai dati Parquet/ORC/AVRO. Esempio: |
require_hive_partition_filter |
Se Si applica ai dati Avro, CSV, JSON, Parquet e ORC. |
sheet_range |
Intervallo di un foglio di lavoro di Fogli Google da cui eseguire la query. Si applica ai dati di Fogli Google. Esempio: |
skip_leading_rows |
Il numero di righe nella parte superiore di un file da saltare durante la lettura dei dati. Si applica ai dati CSV e di Fogli Google. |
uris |
Per le tabelle esterne, incluse le tabelle di oggetti, che non sono tabelle Bigtable:
Un array di URI completi per le posizioni dei dati esterni.
Ogni URI può contenere un
asterisco ( Gli esempi seguenti mostrano valori
Per le tabelle Bigtable:
L'URI che identifica la tabella Bigtable da utilizzare come origine dati. Puoi specificare un solo URI Bigtable. Esempio:
Per ulteriori informazioni sulla creazione di un URI Bigtable, consulta Recupero dell'URI Bigtable. |
Ambito e sintassi
Le query su questa vista 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 regione, devi disporre delle autorizzazioni per il progetto. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente illustra gli ambiti della regione e delle risorse per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
Livello progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
A livello di set di dati | Posizione del set di dati |
Facoltativo: PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non viene 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 Qualificatore del set di dati.
Esempio
Esempio 1:
L'esempio seguente recupera le date di scadenza predefinite delle tabelle per tutte le tabelle in mydataset
nel progetto predefinito (myproject
) eseguendo una query sulla visualizzazione INFORMATION_SCHEMA.TABLE_OPTIONS
.
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
ad esempio, `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
Il risultato è simile al seguente:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | myproject | mydataset | mytable1 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2020-01-16T21:12:28.000Z" | | myproject | mydataset | mytable2 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2021-01-01T21:12:28.000Z" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
Esempio 2:
L'esempio seguente recupera i metadati di tutte le tabelle in mydataset
che contengono dati di test. La query utilizza i valori dell'opzione description
per trovare le tabelle che contengono "test" in qualsiasi punto della descrizione. mydataset
si trova nel progetto predefinito myproject
.
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
ad esempio,
`myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
Il risultato è simile al seguente:
+----------------+---------------+------------+-------------+-------------+--------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+-------------+-------------+--------------+ | myproject | mydataset | mytable1 | description | STRING | "test data" | | myproject | mydataset | mytable2 | description | STRING | "test data" | +----------------+---------------+------------+-------------+-------------+--------------+