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 visualizzazione
INFORMATION_SCHEMA.VIEWS
.
Autorizzazioni obbligatorie
Per eseguire una query sulla visualizzazione INFORMATION_SCHEMA.TABLE_OPTIONS
, devi disporre delle seguenti
autorizzazioni Identity and Access Management (IAM):
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
Ognuno 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 query
sulla visualizzazione INFORMATION_SCHEMA.VIEWS
invece.
La visualizzazione INFORMATION_SCHEMA.TABLE_OPTIONS
ha lo schema seguente:
Nome colonna | Tipo di dati | Valore |
---|---|---|
TABLE_CATALOG |
STRING |
L'ID progetto del progetto contenente il set di dati |
TABLE_SCHEMA |
STRING |
Il nome del set di dati che contiene la tabella o la vista a cui si fa riferimento anche
come datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della visualizzazione, indicato anche come tableId |
OPTION_NAME |
STRING |
Uno dei valori del 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 |
|
|
Se l'aggiornamento automatico è abilitato per una vista materializzata |
|
|
L'ora in cui questa tabella scade |
|
|
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 |
|
|
Il livello massimo di obsolescenza della tabella configurata per BigQuery upsert di Change Data Capture (CDC) |
|
|
La durata predefinita, in giorni, di tutte le partizioni in una tabella partizionata |
|
|
La frequenza con cui viene aggiornata una vista materializzata |
|
|
Indica se le query sulla tabella richiedono un filtro di partizionamento. |
|
|
Tag collegati a una tabella in una sintassi <chiave, valore> 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 durante la creazione di una tabella esterna Bigtable. Specifica lo schema della tabella esterna Bigtable in formato JSON. Per un elenco delle opzioni di definizione delle tabelle 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 includono:
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 in cui questa tabella scade. Se non specificato, la tabella non scade. Esempio: |
field_delimiter |
Il separatore dei campi in un file CSV. Si applica ai dati CSV. |
format |
Il formato dei dati esterni.
I valori supportati per
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 in 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 includono:
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 particolare formato di scambio JSON. Se non specificato, BigQuery legge i dati come record JSON generici. I valori supportati includono: |
max_bad_records |
Il numero massimo di record non validi da ignorare durante la lettura dei dati. Si applica a: dati CSV, JSON e Fogli Google. |
max_staleness |
Applicabile a tabelle BigLake e tabelle degli oggetti. Specifica se i metadati memorizzati nella cache vengono utilizzati dalle operazioni sulla tabella e quanto devono essere aggiornati i metadati memorizzati nella cache affinché l'operazione possa utilizzarli. 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
letterale di 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 quando si crea una tabella degli oggetti. Imposta il valore di questa opzione su |
preserve_ascii_control_characters |
Se Si applica ai dati CSV. |
projection_fields |
Un elenco di proprietà dell'entità da caricare. Si applica ai dati Datastore. |
quote |
La stringa utilizzata per citare le sezioni di dati in un file CSV. Se i tuoi dati
contengono caratteri di nuova riga 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 Google Sheets 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 Fogli Google. |
tags |
<ARRAY<STRUCT<STRING, STRING>>>
Un array di tag IAM per la tabella, espressi come coppie chiave-valore. La chiave deve essere il nome della chiave con spazio dei nomi, e il valore deve essere il nome breve. |
time_zone |
Fuso orario predefinito che verrà applicato durante l'analisi dei valori timestamp che non hanno un fuso orario specifico. Controlla i nomi dei fusi orari validi. Se questo valore non è presente, i valori timestamp senza un fuso orario specifico vengono analizzati utilizzando il fuso orario UTC predefinito. Si applica ai dati CSV e JSON. |
date_format |
Elementi di formato
che definiscono come vengono formattati i valori DATE nei file di input (ad esempio, Se questo valore è presente, questo formato è l'unico formato DATE compatibile. La rilevamento automatico dello schema determinerà anche il tipo di colonna DATE in base a questo formato anziché a quello esistente. Se questo valore non è presente, il campo DATE viene analizzato con i formati predefiniti. Si applica ai dati CSV e JSON. |
datetime_format |
Elementi di formato
che definiscono come vengono formattati i valori DATETIME nei file di input
(ad esempio, Se questo valore è presente, questo formato è l'unico DATETIME compatibile. Il rilevamento automatico dello schema determinerà anche il tipo di colonna DATETIME in base a questo formato anziché al formato esistente. Se questo valore non è presente, il campo DATETIME viene analizzato con i formati predefiniti. Si applica ai dati CSV e JSON. |
time_format |
Elementi di formato
che definiscono come vengono formattati i valori TIME nei file di input (ad esempio, Se questo valore è presente, questo formato è l'unico formato TIME compatibile. Il rilevamento automatico dello schema determinerà anche il tipo di colonna TIME in base a questo formato anziché a quello esistente. Se questo valore non è presente, il campo TIME viene analizzato con i formati predefiniti. Si applica ai dati CSV e JSON. |
timestamp_format |
Elementi di formato
che definiscono come vengono formattati i valori TIMESTAMP nei file di input
(ad esempio, Se questo valore è presente, questo formato è l'unico formato TIMESTAMP compatibile. Il rilevamento automatico dello schema determinerà anche il tipo di colonna TIMESTAMP in base a questo formato anziché al formato esistente. Se questo valore non è presente, il campo TIMESTAMP viene analizzato con i formati predefiniti. Si applica ai dati CSV e JSON. |
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 ( I seguenti esempi 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 Recuperare l'URI Bigtable. |
Ambito e sintassi
Le query su questa vista devono includere un qualificatore di set di dati o 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 saperne di più, consulta la sezione Sintassi. La tabella seguente spiega gli ambiti di regione e risorsa 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 |
Livello del set di dati | Posizione del set di dati |
-
(Facoltativo)
PROJECT_ID
: l'ID del tuo Google Cloud progetto. 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 tuo set di dati. Per maggiori informazioni, consulta Qualificatore del set di dati.
Esempio
Esempio 1:
L'esempio seguente recupera i tempi di scadenza predefiniti delle tabelle per tutte le tabelle in mydataset
nel tuo 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 nell'opzione description
per trovare
tabelle che contengono "test" in qualsiasi punto della descrizione. mydataset
si trova nel tuo
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" | +----------------+---------------+------------+-------------+-------------+--------------+