Creare e utilizzare le tabelle
Questo documento descrive come creare e utilizzare tabelle standard (integrate) in in BigQuery. Per informazioni sulla creazione di altri tipi di tabelle, consulta:
Dopo aver creato una tabella, puoi:
- Controllare l'accesso ai dati della tabella
- Recuperare informazioni sulle tabelle
- Elenca le tabelle in un set di dati
- Recupero metadati tabella
Per ulteriori informazioni sulla gestione delle tabelle, incluso l'aggiornamento delle proprietà delle tabelle, per copiare una tabella ed eliminarla, consulta Gestione delle tabelle.
Prima di iniziare
Prima di creare una tabella in BigQuery:
- Configura un progetto seguendo una guida introduttiva a BigQuery .
- Crea un set di dati BigQuery.
- Se vuoi, leggi Introduzione alle tabelle. per comprendere i limiti delle tabelle, le quote e i prezzi.
Denominazione delle tabelle
Quando crei una tabella in BigQuery, il nome deve essere unico per ogni set di dati. Il nome della tabella può:
- Contenere caratteri per un totale massimo di 1024 byte UTF-8.
- Contengono caratteri Unicode della categoria L (lettera), M (segno), N (numero), Pc (connettore, incluso il trattino basso), Pd (tratto), Zs (spazio). Per ulteriori informazioni, consulta la Categoria generale.
Di seguito sono riportati tutti gli esempi di nomi di tabelle validi:
table 01
, ग्राहक
, 00_お客様
, étudiant-01
.
Precisazioni:
- Per impostazione predefinita, i nomi delle tabelle sono sensibili alle maiuscole.
mytable
eMyTable
possono coesistono nello stesso set di dati, a meno che non facciano parte di un set di dati con sensibilità alle maiuscole disattivata. - Alcuni nomi di tabella e prefissi di nomi di tabelle sono riservati. Se Ricevi un errore che indica che il nome o il prefisso della tabella è riservato, seleziona un altro nome e riprova.
Se includi più operatori punto (
.
) in una sequenza, gli operatori duplicati vengono rimossi implicitamente.Ad esempio:
project_name....dataset_name..table_name
Diventa così:
project_name.dataset_name.table_name
Creare tabelle
Puoi creare una tabella in BigQuery nei seguenti modi:
- Utilizzo manuale della console Google Cloud o dello strumento a riga di comando bq
bq mk
. - Chiamando
tables.insert
in modo programmatico API. - Utilizzando le librerie client.
- Dai risultati della query.
- definendo una tabella che fa riferimento a un'origine dati esterna.
- Quando carichi i dati.
- Utilizzando un
CREATE TABLE
l'istruzione DDL (Data Definition Language).
Autorizzazioni obbligatorie
Per creare una tabella, devi disporre delle seguenti autorizzazioni IAM:
bigquery.tables.create
bigquery.tables.updateData
bigquery.jobs.create
Inoltre, potresti aver bisogno dell'autorizzazione bigquery.tables.getData
per
accedere ai dati che scrivi nella tabella.
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per creare una tabella:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
(include l'autorizzazionebigquery.jobs.create
)roles/bigquery.user
(include l'autorizzazionebigquery.jobs.create
)roles/bigquery.jobUser
(include l'autorizzazionebigquery.jobs.create
)
Inoltre, se disponi dell'autorizzazione bigquery.datasets.create
, puoi creare e aggiornare le tabelle nei set di dati che crei.
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Creare una tabella vuota con una definizione di schema
Puoi creare una tabella vuota con una definizione di schema nei seguenti modi:
- Inserisci lo schema utilizzando la console Google Cloud.
- Fornisci lo schema in linea utilizzando lo strumento a riga di comando bq.
- Invia un file di schema JSON utilizzando lo strumento a riga di comando bq.
- Fornisci lo schema in una risorsa di tabella
quando chiami il metodo
tables.insert
delle API.
Per ulteriori informazioni su come specificare uno schema di tabella, consulta la sezione Specifica di uno schema.
Una volta creata la tabella, puoi caricarvi i dati o completarla scrivendo i risultati delle query.
Per creare una tabella vuota con una definizione di schema:
Console
Nella console Google Cloud, vai alla pagina BigQuery.
- Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.
- Nella sezione Informazioni set di dati, fai clic su Crea tabella.
- Nel riquadro Crea tabella, specifica i seguenti dettagli:
- Nella sezione Origine, seleziona Tabella vuota nell'elenco Crea tabella da.
- Nella sezione Destinazione, specifica i seguenti dettagli:
- In Set di dati, seleziona il set di dati in cui vuoi creare la tabella.
- Nel campo Tabella, inserisci il nome della tabella da creare.
- Verifica che il campo Tipo di tabella sia impostato su Tabella nativa.
- Nella sezione Schema, inserisci la definizione dello schema.
Puoi inserire manualmente le informazioni dello schema utilizzando uno dei seguenti metodi:
- Opzione 1: fai clic su Modifica come testo e incolla lo schema sotto forma di
un array JSON. Quando utilizzi un array JSON, generi lo schema utilizzando la stessa procedura utilizzata per creare un file di schema JSON.
Puoi visualizzare lo schema di una tabella esistente in formato JSON inserendo il seguente
comando:
bq show --format=prettyjson dataset.table
- Opzione 2: fai clic su Tipo e Modalità di ogni campo. Aggiungi campo e inserisci lo schema della tabella. Specifica Nome,
- Opzione 1: fai clic su Modifica come testo e incolla lo schema sotto forma di
un array JSON. Quando utilizzi un array JSON, generi lo schema utilizzando la stessa procedura utilizzata per creare un file di schema JSON.
Puoi visualizzare lo schema di una tabella esistente in formato JSON inserendo il seguente
comando:
- (Facoltativo) Specifica le impostazioni di partizione e clustering. Per ulteriori informazioni, vedi Creazione di tabelle partizionate e Creazione e utilizzo di tabelle in cluster.
- (Facoltativo) Nella sezione Opzioni avanzate, se vuoi utilizzare una chiave di crittografia gestita dal cliente, seleziona l'opzione Utilizza una chiave di crittografia gestita dal cliente (CMEK). Per impostazione predefinita, BigQuery cripta i contenuti archiviati inattivi dei clienti mediante una chiave di proprietà di Google.
- Fai clic su Crea tabella.
SQL
L'esempio seguente crea una tabella denominata newtable
che scade il
1° gennaio 2023:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
CREATE TABLE mydataset.newtable ( x INT64 OPTIONS (description = 'An optional INTEGER field'), y STRUCT < a ARRAY <STRING> OPTIONS (description = 'A repeated STRING field'), b BOOL > ) OPTIONS ( expiration_timestamp = TIMESTAMP '2023-01-01 00:00:00 UTC', description = 'a table that expires in 2023', labels = [('org_unit', 'development')]);
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Utilizza il comando
bq mk
con il flag--table
o-t
. Puoi fornire le informazioni sullo schema della tabella in linea o con un file di schema JSON. Per un elenco completo vedi i parametri Riferimentobq mk --table
. Alcuni parametri facoltativi includono:--expiration
--description
--time_partitioning_field
--time_partitioning_type
--range_partitioning
--clustering_fields
--destination_kms_key
--label
--time_partitioning_field
,--time_partitioning_type
,--range_partitioning
,--clustering_fields
e--destination_kms_key
non sono mostrati qui. Per saperne di più su questi parametri facoltativi, consulta i seguenti link:- Per ulteriori informazioni su
--time_partitioning_field
,--time_partitioning_type
e--range_partitioning
visualizzano tabelle partizionate. - Per ulteriori informazioni su
--clustering_fields
, consulta tabelle raggruppate. - Per ulteriori informazioni su
--destination_kms_key
, vedi chiavi di crittografia gestite dal cliente.
Se crei una tabella in un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato:
project_id:dataset
.Per creare una tabella vuota in un set di dati esistente con una definizione di schema, inserisci quanto segue:
bq mk \ --table \ --expiration=integer \ --description=description \ --label=key_1:value_1 \ --label=key_2:value_2 \ --add_tags=key_3:value_3[,...] \ project_id:dataset.table \ schema
Sostituisci quanto segue:
- integer è la durata predefinita (in secondi) della tabella. Il valore minimo è 3600 secondi (un'ora). Data e ora di scadenza restituisce l'ora UTC attuale più il valore intero. Se imposti il parametro scadenza quando crei una tabella, la tabella predefinita viene ignorata.
- description è una descrizione della tabella tra virgolette.
- key_1:value_1 e key_2:value_2 sono coppie chiave/valore che specificano le etichette.
- key_3:value_3 sono coppie chiave-valore che specificano i tag. Aggiungi più tag nel tag lo stesso flag con virgole tra le coppie chiave-valore.
- project_id è l'ID progetto.
- dataset è un set di dati nel tuo progetto.
- table è il nome della tabella che stai creando.
- schema è una definizione di schema in linea nel formato field:data_type,field:data_type o il percorso del file dello schema JSON sul computer locale.
Quando specifichi lo schema nella riga di comando, non puoi includere un'istruzione
RECORD
(STRUCT
) non puoi includere una descrizione della colonna e non puoi specificare modalità colonna. Tutte le modalità predefinite sono:NULLABLE
. Per includere descrizioni, modi e tipi diRECORD
, fornisci un file di schema JSON.Esempi:
Inserisci il seguente comando per creare una tabella utilizzando una definizione di schema in linea. Questo comando crea una tabella denominata
mytable
inmydataset
in il progetto predefinito. La scadenza della tabella è impostata su 3600 secondi (1 ora), la descrizione è impostata suThis is my table
e l'etichetta suorganization:development
. Il comando utilizza la scorciatoia-t
anziché--table
. Lo schema viene specificato in linea come:qtr:STRING,sales:FLOAT,year:STRING
.bq mk \ -t \ --expiration 3600 \ --description "This is my table" \ --label organization:development \ mydataset.mytable \ qtr:STRING,sales:FLOAT,year:STRING
Inserisci il seguente comando per creare una tabella utilizzando un file di schema JSON. Questo comando crea una tabella denominata
mytable
inmydataset
nel progetto predefinito. La scadenza della tabella è impostata su 3600 secondi (1 ora), la descrizione è impostata suThis is my table
e l'etichetta suorganization:development
. Il percorso del file di schema è/tmp/myschema.json
.bq mk \ --table \ --expiration 3600 \ --description "This is my table" \ --label organization:development \ mydataset.mytable \ /tmp/myschema.json
Inserisci il comando seguente per creare una tabella utilizzando un file di schema JSON. Questo comando crea una tabella denominata
mytable
inmydataset
inmyotherproject
. La scadenza della tabella è impostata su 3600 secondi (1 ora), la descrizione suThis is my table
e l'etichetta suorganization:development
. Il percorso del file di schema è/tmp/myschema.json
.bq mk \ --table \ --expiration 3600 \ --description "This is my table" \ --label organization:development \ myotherproject:mydataset.mytable \ /tmp/myschema.json
Dopo aver creato la tabella, puoi aggiornare la scadenza, la descrizione e le etichette della tabella. Puoi anche modificare la definizione dello schema.
Terraform
Utilizza la
google_bigquery_table
risorsa.
Per eseguire l'autenticazione in BigQuery, configura il valore predefinito dell'applicazione Credenziali. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Creare una tabella
Nell'esempio seguente viene creata una tabella denominata mytable
:
Creare una tabella e concederne l'accesso
L'esempio seguente crea una tabella denominata mytable
, quindi utilizza il metodo
Risorsa google_bigquery_table_iam_policy
da concedere
per accedervi. Esegui questo passaggio solo se vuoi concedere l'accesso alla tabella a entità che non hanno accesso al set di dati in cui risiede la tabella.
Crea una tabella con una chiave di crittografia gestita dal cliente
L'esempio seguente crea una tabella denominata mytable
e utilizza anche
google_kms_crypto_key
e
google_kms_key_ring
per specificare
Chiave Cloud Key Management Service per
tabella. Devi
abilita l'API Cloud Key Management Service prima di eseguire questo esempio.
Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi nelle seguenti sezioni.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito dove vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi farlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione di Terraform.
Prepara la directory
Ogni file di configurazione Terraform deve avere una directory dedicata (inoltre chiamato modulo principale).
-
In Cloud Shell, crea una directory e un nuovo
all'interno di quella directory. Il nome file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file è denominatomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice di esempio nel file
main.tf
appena creato.Se vuoi, copia il codice da GitHub. Opzione consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare la versione più recente del provider Google, includi
-upgrade
:terraform init -upgrade
Applica le modifiche
-
Rivedi la configurazione e verifica che le risorse che Terraform creerà o
che l'aggiornamento soddisfi le tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione di Terraform eseguendo il seguente comando e inserendo
yes
al prompt:terraform apply
Attendi che Terraform mostri il messaggio "Applicazione completata".
- Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
API
Chiama il metodo tables.insert
con una risorsa tabella definita.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione C# riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API C# BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Vai
Prima di provare questo esempio, segui le istruzioni di configurazione Go riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API Go BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API Node.js BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione PHP riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API PHP BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Python.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Ruby
Prima di provare questo esempio, segui le istruzioni per la configurazione di Ruby nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Ruby BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Creare una tabella vuota senza una definizione dello schema
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Creare una tabella da un risultato di query
Per creare una tabella a partire dal risultato di una query, scrivi i risultati in una tabella di destinazione.
Console
Apri la pagina BigQuery nella console Google Cloud.
Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.
Inserisci una query SQL valida.
Fai clic su Altro e seleziona Impostazioni query.
Seleziona l'opzione Imposta una tabella di destinazione per i risultati della query.
Nella sezione Destinazione, seleziona il set di dati in cui vuoi creare la tabella e poi scegli un ID tabella.
Nella sezione Preferenza di scrittura per tabella di destinazione, scegli una delle seguenti opzioni:
- Scrivi se vuoto: scrive i risultati della query solo nella tabella se la tabella è vuota.
- Aggiungi alla tabella: aggiunge i risultati della query a una tabella esistente tabella.
- Sovrascrivi tabella: sovrascrive una tabella esistente con lo stesso utilizzando i risultati della query.
(Facoltativo) Per Località dei dati, scegli la tua posizione.
Per aggiornare le impostazioni della query, fai clic su Salva.
Fai clic su Esegui. Viene creato un job di query che scrive i risultati della query nella tabella specificata.
In alternativa, se dimentichi di specificare una tabella di destinazione prima di eseguire la query, puoi copiare la tabella dei risultati memorizzati nella cache in una tabella permanente facendo clic sul pulsante Salva risultati sopra l'editor.
SQL
L'esempio seguente utilizza il metodo
Dichiarazione CREATE TABLE
per creare la tabella trips
dai dati pubblici
Tabella bikeshare_trips
:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE TABLE mydataset.trips AS ( SELECT bike_id, start_time, duration_minutes FROM bigquery-public-data.austin_bikeshare.bikeshare_trips );
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
Per ulteriori informazioni, vedi Creazione di una nuova tabella da una tabella esistente.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Inserisci il valore
bq query
e specifica il flag--destination_table
creare una tabella permanente in base ai risultati della query. Specifica il flaguse_legacy_sql=false
per utilizzare la sintassi GoogleSQL. Per scrivere la query a una tabella che non è nel progetto predefinito, aggiungi l'ID progetto al nome del set di dati nel seguente formato:project_id:dataset
.(Facoltativo) Fornisci il flag
--location
e imposta il valore sulla tua posizione.Per controllare l'impostazione di scrittura per una tabella di destinazione esistente, specifica uno dei seguenti flag facoltativi:
--append_table
: se la tabella di destinazione esiste, i risultati della query sono aggiunti.--replace
: se la tabella di destinazione esiste, viene sovrascritta con i risultati della query.bq --location=location query \ --destination_table project_id:dataset.table \ --use_legacy_sql=false 'query'
Sostituisci quanto segue:
location
è il nome della località utilizzata per elaborare la query. Il flag--location
è facoltativo. Ad esempio, se utilizzi BigQuery nella regione di Tokyo, puoi impostare il valore del flag suasia-northeast1
. Puoi impostare un valore predefinito per la posizione utilizzando il file.bigqueryrc
.project_id
è l'ID progetto.dataset
è il nome del set di dati che contiene la tabella in cui vengono scritti i risultati della query.table
è il nome della tabella a cui stai scrivere i risultati della query.query
è una query con la sintassi GoogleSQL.Se non viene specificato alcun flag di disposizione di scrittura, il comportamento predefinito è scrivi i risultati nella tabella solo se è vuota. Se la tabella esiste e non è vuoto, viene restituito il seguente errore:
BigQuery error in query operation: Error processing job project_id:bqjob_123abc456789_00000e1234f_1: Already Exists: Table project_id:dataset.table
.Esempi:
Inserisci il comando seguente per scrivere i risultati della query in una tabella di destinazione denominata
mytable
inmydataset
. Il set di dati si trova nel progetto predefinito. Poiché nel comando non è specificato alcun flag di disposizione di scrittura, la tabella deve essere nuovo o vuoto. In caso contrario, viene restituito un erroreAlready exists
. La query recupera i dati dal set di dati pubblico USA Name Data.bq query \ --destination_table mydataset.mytable \ --use_legacy_sql=false \ 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
Inserisci il comando seguente per utilizzare i risultati della query per sovrascrivere una destinazione tabella denominata
mytable
inmydataset
. Il set di dati è quello predefinito progetto. Il comando utilizza il flag--replace
per sovrascrivere la destinazione tabella.bq query \ --destination_table mydataset.mytable \ --replace \ --use_legacy_sql=false \ 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
Inserisci il comando seguente per aggiungere i risultati della query a una tabella di destinazione denominato
mytable
inmydataset
. Il set di dati si trova inmy-other-project
, non il progetto predefinito. Il comando usa il flag--append_table
per aggiungere i risultati della query nella tabella di destinazione.bq query \ --append_table \ --use_legacy_sql=false \ --destination_table my-other-project:mydataset.mytable \ 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
L'output di ciascuno di questi esempi è il seguente. Per motivi di leggibilità, parte dell'output è troncata.
Waiting on bqjob_r123abc456_000001234567_1 ... (2s) Current status: DONE +---------+--------+ | name | number | +---------+--------+ | Robert | 10021 | | John | 9636 | | Robert | 9297 | | ... | +---------+--------+
API
Per salvare i risultati della query in una tabella permanente, richiama il metodo
jobs.insert
,
configura un job query
e includi un valore per destinationTable
proprietà. per controllare l'istruzione di scrittura per una destinazione esistente.
configura la proprietà writeDisposition
.
Per controllare la località di elaborazione del job di query, specifica la proprietà location
nella sezione jobReference
della risorsa job.
Vai
Prima di provare questo esempio, segui le istruzioni di configurazione Go riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Go.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Per salvare i risultati della query in una tabella permanente, imposta la destinazione tavola al TableId in un QueryJobConfiguration.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Node.js.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Python BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Per salvare i risultati della query in una tabella permanente, crea un'istanza QueryJobConfig e imposta destinazione al TableReference. passa la configurazione del job alla query .Creare una tabella che fa riferimento a un'origine dati esterna
Un'origine dati esterna è un'origine dati in cui puoi eseguire query direttamente da BigQuery, anche se i dati non vengono archiviati in BigQuery. Ad esempio, potresti avere dati in una un database Google Cloud diverso, nei file di Cloud Storage o in un prodotto cloud completamente diverso da analizzare a BigQuery, ma che non è tutto pronto per la migrazione.
Per ulteriori informazioni, consulta Introduzione alle origini dati esterne.
Crea una tabella quando carichi i dati
Quando carichi i dati in BigQuery, puoi caricarli in un nuovo una tabella o una partizione, puoi aggiungere dati a una tabella o a una partizione esistente oppure puoi sovrascrivere una tabella o una partizione. Non è necessario creare una tabella vuota prima di caricarvi i dati. Puoi creare la nuova tabella e caricare contemporaneamente.
Quando carichi i dati in BigQuery, puoi fornire la tabella o schema di partizione oppure, per i formati di dati supportati, puoi usare rilevamento automatico.
Per ulteriori informazioni sul caricamento dei dati, consulta Introduzione al caricamento dei dati in BigQuery.
Controllare l'accesso alle tabelle
Per configurare l'accesso a tabelle e visualizzazioni, puoi concedere un ruolo IAM a un'entità ai seguenti livelli, elencati in ordine di intervallo di risorse consentito (dal più grande al più piccolo):
- un livello elevato della gerarchia delle risorse Google Cloud, come il livello di progetto, cartella o organizzazione
- a livello di set di dati
- il livello della tabella o della visualizzazione
Puoi anche limitare l'accesso ai dati all'interno delle tabelle utilizzando i seguenti metodi:
L'accesso con qualsiasi risorsa protetta da IAM è cumulativo. Per Ad esempio, se un'entità non ha accesso ad alto livello, come un progetto, puoi concedere l'accesso all'entità a livello del set di dati. Poi hanno accesso alle tabelle e alle visualizzazioni del set di dati. Analogamente, se l'entità non ha accesso a livello generale o del set di dati, puoi concedere accesso alle entità a livello di tabella o vista.
La concessione di ruoli IAM a un livello superiore nella gerarchia delle risorse di Google Cloud, ad esempio a livello di progetto, cartella o organizzazione, consente all'entità di accedere a un insieme ampio di risorse. Ad esempio, l'assegnazione di un ruolo a un'entità a livello di progetto assegna a quell'entità le autorizzazioni che si applicano a tutti i set di dati del progetto.
La concessione di un ruolo a livello di set di dati specifica le operazioni che un'entità è autorizzata a eseguire sulle tabelle e sulle visualizzazioni in quel set di dati specifico, anche se l'entità non ha accesso a un livello superiore. Per informazioni sulla configurazione dei controlli di accesso a livello di set di dati, consulta Controllare l'accesso ai set di dati.
La concessione di un ruolo a livello di tabella o vista specifica le operazioni a cui è soggetta un'entità che può essere eseguita su tabelle e viste specifiche, anche se l'entità non hanno accesso a un livello superiore. Per informazioni sulla configurazione dell'accesso a livello di tabella di controllo, consulta Controllo dell'accesso a tabelle e viste.
Puoi anche creare ruoli IAM personalizzati. Se crei un ruolo personalizzato, le autorizzazioni che concedi dipendono dalle operazioni specifiche che vuoi che l'entità possa eseguire.
Non puoi impostare un rifiuto su qualsiasi risorsa protetta o IAM.
Per ulteriori informazioni su ruoli e autorizzazioni, consulta la sezione Informazioni sui ruoli. nella documentazione di IAM e BigQuery Ruoli e autorizzazioni IAM.
Ottieni informazioni sulle tabelle
Puoi ottenere informazioni o metadati sulle tabelle nei seguenti modi:
- Utilizzo della console Google Cloud.
- Utilizzo del comando
bq show
dello strumento a riga di comando bq. - Chiamata al metodo dell'API
tables.get
. - Utilizzare le librerie client.
- Eseguire query sulle visualizzazioni
INFORMATION_SCHEMA
(beta).
Autorizzazioni obbligatorie
Per ottenere informazioni sulle tabelle, devi disporre almeno delle autorizzazioni bigquery.tables.get
. I seguenti ruoli IAM predefiniti includono le autorizzazioni bigquery.tables.get
:
bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
Inoltre, se un utente dispone delle autorizzazioni bigquery.datasets.create
, quando crea un set di dati, gli viene concesso l'accesso bigquery.dataOwner
.
L'accesso bigquery.dataOwner
consente all'utente di recuperare i metadati della tabella.
Per ulteriori informazioni su ruoli e autorizzazioni IAM in BigQuery, consulta Controllo dell'accesso.
Recuperare le informazioni della tabella
Per ottenere informazioni sulle tabelle:
Console
Nel riquadro di navigazione, nella sezione Risorse, espandi il progetto e seleziona un set di dati.
Fai clic sul nome del set di dati per espanderlo. Le tabelle e le viste del set di dati vengono visualizzate.
Fai clic sul nome della tabella.
Nel riquadro Dettagli, fai clic su Dettagli per visualizzare la descrizione e le informazioni della tabella.
Se vuoi, passa alla scheda Schema per visualizzare la definizione dello schema della tabella.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Esegui il comando
bq show
per visualizzare tutte le informazioni della tabella. Utilizza la--schema
per visualizzare solo le informazioni sullo schema della tabella.--format
per controllare l'output.Se ricevi informazioni su una tabella in un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato:
project_id:dataset
.bq show \ --schema \ --format=prettyjson \ project_id:dataset.table
Dove:
- project_id è l'ID progetto.
- dataset è il nome del set di dati.
- table è il nome della tabella.
Esempi:
Inserisci il comando seguente per visualizzare tutte le informazioni su
mytable
inmydataset
.mydataset
è nel tuo progetto predefinito.bq show --format=prettyjson mydataset.mytable
Inserisci il seguente comando per visualizzare tutte le informazioni su
mytable
inmydataset
.mydataset
si trova inmyotherproject
, non nel progetto predefinito.bq show --format=prettyjson myotherproject:mydataset.mytable
Inserisci il comando seguente per visualizzare solo le informazioni sullo schema
mytable
amydataset
.mydataset
si trova inmyotherproject
, non in tuo progetto predefinito.bq show --schema --format=prettyjson myotherproject:mydataset.mytable
API
Chiama il metodo tables.get
e fornisci eventuali parametri pertinenti.
Vai
Prima di provare questo esempio, segui le istruzioni di configurazione Go riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Go.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Node.js BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni per la configurazione di PHP nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery PHP.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Python BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Ottieni informazioni della tabella utilizzando INFORMATION_SCHEMA
INFORMATION_SCHEMA
è una serie di visualizzazioni che forniscono accesso ai metadati
di set di dati, routine, tabelle, visualizzazioni, job, prenotazioni e dati in streaming.
Per ottenere informazioni sulle tabelle, puoi eseguire query sulle seguenti viste:
- Utilizza le visualizzazioni
INFORMATION_SCHEMA.TABLES
eINFORMATION_SCHEMA.TABLE_OPTIONS
per recuperare i metadati relativi alle tabelle e alle visualizzazioni in un progetto. - Utilizza
INFORMATION_SCHEMA.COLUMNS
eINFORMATION_SCHEMA.COLUMN_FIELD_PATHS
viste per recuperare i metadati sulla colonne (campi) in una tabella. - Utilizza le visualizzazioni
INFORMATION_SCHEMA.TABLE_STORAGE
per recuperare i metadati relativi all'utilizzo corrente e storico dello spazio di archiviazione da parte di una tabella.
Le visualizzazioni TABLES
e TABLE_OPTIONS
contengono anche informazioni di alto livello sulle visualizzazioni. Per informazioni dettagliate, esegui una query
INFORMATION_SCHEMA.VIEWS
visualizzazione
.
TABLES
visualizzazione
Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.TABLES
, i risultati della query contengono una riga per ogni tabella o visualizzazione in un set di dati. Per informazioni dettagliate sulle visualizzazioni, esegui una query sulla visualizzazioneINFORMATION_SCHEMA.VIEWS
.
La vista INFORMATION_SCHEMA.TABLES
ha lo schema seguente:
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 o la vista. Chiamato anche
come datasetId . |
table_name |
STRING |
Il nome della tabella o della visualizzazione. Chiamato anche
tableId . |
table_type |
STRING |
Il tipo di tabella; uno dei seguenti:
|
is_insertable_into |
STRING |
YES o NO a seconda che la tabella
supporta DML INSERT
Estratti conto |
is_typed |
STRING |
Il valore è sempre NO |
creation_time |
TIMESTAMP |
L'ora di creazione della tabella |
base_table_catalog |
STRING |
Per i cloni di tabelle
e gli snapshot delle tabelle,
il progetto della tabella di base. Applicabile solo alle
tabelle con table_type impostato su CLONE o
SNAPSHOT .
|
base_table_schema |
STRING |
Per i cloni di tabelle
e gli snapshot delle tabelle,
il set di dati della tabella di base. Applicabile solo alle tabelle con
table_type impostato su CLONE o
SNAPSHOT . |
base_table_name |
STRING |
Per i cloni di tabella
e gli snapshot delle tabelle,
il nome della tabella di base. Applicabile solo alle tabelle con
table_type impostato su CLONE o
SNAPSHOT . |
snapshot_time_ms |
TIMESTAMP |
Per i cloni di tabelle
e gli snapshot di tabelle,
l'ora in cui è stata eseguita l'operazione di clonazione
o di snapshot
sulla tabella di base per creare questa tabella. Se
tempo di viaggio, questo
contiene il timestamp dello spostamento cronologico. In caso contrario, il
campo snapshot_time_ms è uguale al
campo creation_time . Applicabile solo a
tabelle con table_type impostato su CLONE o
SNAPSHOT .
|
replica_source_catalog |
STRING |
Per le repliche delle viste materializzate, il progetto della vista materializzata di base. |
replica_source_schema |
STRING |
Per le repliche delle viste materializzate, il set di dati della vista materializzata di base. |
replica_source_name |
STRING |
Per le repliche delle viste materializzate, il nome della vista materializzata di base. |
replication_status |
STRING |
Per
repliche di viste materializzate,
lo stato della replica dalla vista materializzata di base
replica della vista materializzata; uno dei seguenti:
|
replication_error |
STRING |
Se replication_status indica un problema di replica per una
replica della vista materializzata,
replication_error fornisce ulteriori dettagli sul problema. |
ddl |
STRING |
L'istruzione DDL
che può essere utilizzata per ricreare la tabella, ad esempio
CREATE TABLE
o CREATE VIEW |
default_collation_name |
STRING |
Il nome della specifica di regole di confronto predefinita se esistente; in caso contrario, NULL .
|
upsert_stream_apply_watermark |
TIMESTAMP |
Per le tabelle che utilizzano Change Data Capture (CDC), l'ora in cui la riga sono state applicate l'ultima volta. Per ulteriori informazioni, vedi Monitora l'avanzamento dell'operazione di upsert della tabella. |
Esempi
Esempio 1:
L'esempio seguente recupera i metadati delle tabelle per tutte le tabelle nel set di dati denominato mydataset
. I metadati
restituito per tutti i tipi di tabelle in mydataset
del progetto predefinito.
mydataset
contiene le seguenti tabelle:
mytable1
: una tabella BigQuery standardmyview1
: una vista BigQuery
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.TABLES
.
SELECT table_catalog, table_schema, table_name, table_type, is_insertable_into, creation_time, ddl FROM mydataset.INFORMATION_SCHEMA.TABLES;
Il risultato è simile al seguente. Per migliorare la leggibilità, alcune colonne escluse dal risultato.
+----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+ | table_catalog | table_schema | table_name | table_type | is_insertable_into | creation_time | ddl | +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+ | myproject | mydataset | mytable1 | BASE TABLE | YES | 2018-10-29 20:34:44 | CREATE TABLE `myproject.mydataset.mytable1` | | | | | | | | ( | | | | | | | | id INT64 | | | | | | | | ); | | myproject | mydataset | myview1 | VIEW | NO | 2018-12-29 00:19:20 | CREATE VIEW `myproject.mydataset.myview1` | | | | | | | | AS SELECT 100 as id; | +----------------+---------------+----------------+------------+--------------------+---------------------+---------------------------------------------+
Esempio 2:
L'esempio seguente recupera i metadati delle tabelle per tutte le tabelle di tipo CLONE
o SNAPSHOT
dalla visualizzazione INFORMATION_SCHEMA.TABLES
. I metadati restituiti
è per le tabelle in mydataset
nel progetto predefinito.
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.TABLES
.
SELECT table_name, table_type, base_table_catalog, base_table_schema, base_table_name, snapshot_time_ms FROM mydataset.INFORMATION_SCHEMA.TABLES WHERE table_type = 'CLONE' OR table_type = 'SNAPSHOT';
Il risultato è simile al seguente. Per una maggiore leggibilità, alcune colonne vengono escluse dal risultato.
+--------------+------------+--------------------+-------------------+-----------------+---------------------+ | table_name | table_type | base_table_catalog | base_table_schema | base_table_name | snapshot_time_ms | +--------------+------------+--------------------+-------------------+-----------------+---------------------+ | items_clone | CLONE | myproject | mydataset | items | 2018-10-31 22:40:05 | | orders_bk | SNAPSHOT | myproject | mydataset | orders | 2018-11-01 08:22:39 | +--------------+------------+--------------------+-------------------+-----------------+---------------------+
Esempio 3:
L'esempio seguente recupera le colonne table_name
e ddl
dalla vista INFORMATION_SCHEMA.TABLES
per la tabella population_by_zip_2010
nel set di dati census_bureau_usa
. Questo set di dati fa parte del programma per i set di dati pubblici di BigQuery.
Poiché la tabella su cui stai eseguendo la query si trova in un altro progetto, aggiungi l'ID progetto al set di dati nel seguente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
.
In questo esempio, il valore è
`bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES
.
SELECT table_name, ddl FROM `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.TABLES WHERE table_name = 'population_by_zip_2010';
Il risultato è simile al seguente:
+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | table_name | ddl | +------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | population_by_zip_2010 | CREATE TABLE `bigquery-public-data.census_bureau_usa.population_by_zip_2010` | | | ( | | | geo_id STRING OPTIONS(description="Geo code"), | | | zipcode STRING NOT NULL OPTIONS(description="Five digit ZIP Code Tabulation Area Census Code"), | | | population INT64 OPTIONS(description="The total count of the population for this segment."), | | | minimum_age INT64 OPTIONS(description="The minimum age in the age range. If null, this indicates the row as a total for male, female, or overall population."), | | | maximum_age INT64 OPTIONS(description="The maximum age in the age range. If null, this indicates the row as having no maximum (such as 85 and over) or the row is a total of the male, female, or overall population."), | | | gender STRING OPTIONS(description="male or female. If empty, the row is a total population summary.") | | | ) | | | OPTIONS( | | | labels=[("freebqcovid", "")] | | | ); | +------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
TABLE_OPTIONS
visualizzazione
Quando esegui una query sulla vista INFORMATION_SCHEMA.TABLE_OPTIONS
, i risultati
Deve contenere 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 il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
TABLE_CATALOG |
STRING |
L'ID del progetto contenente il set di dati |
TABLE_SCHEMA |
STRING |
Indica il nome del set di dati che contiene la tabella o la vista
come datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della vista 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 |
|
|
Indica se l'aggiornamento automatico è abilitato per una vista materializzata |
|
|
L'ora di scadenza della 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 in un tavola |
|
|
La frequenza di aggiornamento di una vista materializzata |
|
|
Se le query sulla tabella richiedono un filtro di partizione |
|
|
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 quando crei un oggetto esterno Bigtable tabella. Specifica lo schema della tabella esterna di 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.
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 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 Tavoli BigLake e tabelle di 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 disabilitare la memorizzazione nella cache dei metadati, specifica 0. Questa è l'impostazione predefinita. Per abilitare la memorizzazione nella cache dei metadati, specifica
valore 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 quando crei un'istanza 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à 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 tuoi dati
contiene caratteri di nuova riga tra virgolette, imposta anche
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 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 ( 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 Recupero dell'URI Bigtable. |
Esempi
Esempio 1:
L'esempio seguente recupera i tempi di scadenza predefiniti per le tabelle
in mydataset
nel tuo progetto predefinito (myproject
) eseguendo una query
INFORMATION_SCHEMA.TABLE_OPTIONS
visualizzazione.
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
è in
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" | +----------------+---------------+------------+-------------+-------------+--------------+
COLUMNS
visualizzazione
Quando esegui una query sulla vista INFORMATION_SCHEMA.COLUMNS
, i risultati della query contengono
una riga per ogni colonna (campo) in una tabella.
La vista INFORMATION_SCHEMA.COLUMNS
ha il seguente schema:
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 contenente la tabella, chiamato anche
datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della vista indicato anche come tableId |
COLUMN_NAME |
STRING |
Il nome della colonna |
ORDINAL_POSITION |
INT64 |
L'offset indicizzato con 1 della colonna all'interno della tabella; se si tratta di uno pseudo
colonna come _PARTITIONTIME o _PARTITIONDATE, il valore è
NULL |
IS_NULLABLE |
STRING |
YES o NO a seconda che la colonna
consente NULL valori |
DATA_TYPE |
STRING |
Il tipo di dati GoogleSQL della colonna |
IS_GENERATED |
STRING |
Il valore è sempre NEVER |
GENERATION_EXPRESSION |
STRING |
Il valore è sempre NULL |
IS_STORED |
STRING |
Il valore è sempre NULL |
IS_HIDDEN |
STRING |
YES o NO a seconda che la colonna sia
una pseudocolonna come _PARTITIONTIME o _PARTITIONDATE |
IS_UPDATABLE |
STRING |
Il valore è sempre NULL |
IS_SYSTEM_DEFINED |
STRING |
YES o NO a seconda che la colonna sia
una pseudocolonna come _PARTITIONTIME o _PARTITIONDATE |
IS_PARTITIONING_COLUMN |
STRING |
YES o NO a seconda che la colonna sia
una colonna di partizionamento |
CLUSTERING_ORDINAL_POSITION |
INT64 |
L'offset indicizzato con 1 della colonna all'interno dello schema della tabella
le colonne di clustering; il valore è NULL se la tabella non è un
tabella in cluster |
COLLATION_NAME |
STRING |
Il nome della specifica di ordinamento se esistente; altrimenti NULL Se viene passato un STRING o un ARRAY<STRING> , viene restituita la specifica di ordinamento se esistente; altrimenti viene restituito NULL
|
COLUMN_DEFAULT |
STRING |
Il valore predefinito della colonna, se esistente; in caso contrario, il valore è NULL
|
ROUNDING_MODE |
STRING |
La modalità di arrotondamento utilizzata per i valori scritti nel campo se il suo
tipo è un NUMERIC o BIGNUMERIC parametrizzato;
in caso contrario, il valore è NULL
|
Esempi
L'esempio seguente recupera i metadati dalla vista INFORMATION_SCHEMA.COLUMNS
per la tabella population_by_zip_2010
nel set di dati census_bureau_usa
. 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`.census_bureau_usa.INFORMATION_SCHEMA.TABLES
.
Le seguenti colonne sono escluse dai risultati della query perché al momento sono riservate per un uso futuro:
IS_GENERATED
GENERATION_EXPRESSION
IS_STORED
IS_UPDATABLE
SELECT * EXCEPT(is_generated, generation_expression, is_stored, is_updatable) FROM `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'population_by_zip_2010';
Il risultato è simile al seguente. Per una maggiore leggibilità, alcune colonne vengono escluse dal risultato.
+------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+ | table_name | column_name | ordinal_position | is_nullable | data_type | is_hidden | is_system_defined | is_partitioning_column | clustering_ordinal_position | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+ | population_by_zip_2010 | zipcode | 1 | NO | STRING | NO | NO | NO | NULL | | population_by_zip_2010 | geo_id | 2 | YES | STRING | NO | NO | NO | NULL | | population_by_zip_2010 | minimum_age | 3 | YES | INT64 | NO | NO | NO | NULL | | population_by_zip_2010 | maximum_age | 4 | YES | INT64 | NO | NO | NO | NULL | | population_by_zip_2010 | gender | 5 | YES | STRING | NO | NO | NO | NULL | | population_by_zip_2010 | population | 6 | YES | INT64 | NO | NO | NO | NULL | +------------------------+-------------+------------------+-------------+-----------+-----------+-------------------+------------------------+-----------------------------+
COLUMN_FIELD_PATHS
visualizzazione
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 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 contenente la tabella, chiamato 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 nidificata all'interno di 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 per l'applicazione della precisione e della scala a
valori NUMERIC o BIGNUMERIC con parametri;
altrimenti il valore è NULL
|
Esempi
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 per i set di dati pubblici di BigQuery.
Poiché la tabella su cui esegui la 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 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 la seguente 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 | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+
TABLE_STORAGE
visualizzazione
Le viste TABLE_STORAGE
e TABLE_STORAGE_BY_ORGANIZATION
hanno le seguenti caratteristiche
schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
PROJECT_ID |
STRING |
L'ID del progetto contenente il set di dati. |
PROJECT_NUMBER |
INT64 |
Il numero del progetto che contiene il set di dati. |
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 materializzata,
chiamato anche datasetId . |
TABLE_NAME |
STRING |
Il nome della tabella o della vista materializzata, indicato anche come
tableId . |
CREATION_TIME |
TIMESTAMP |
L'ora di creazione della tabella. |
TOTAL_ROWS |
INT64 |
Il numero totale di righe nella tabella o nella vista materializzata. |
TOTAL_PARTITIONS |
INT64 |
Il numero di partizioni presenti nella tabella o nella vista materializzata. Le tabelle non partizionate restituiscono 0. |
TOTAL_LOGICAL_BYTES |
INT64 |
Numero totale di byte logici (non compressi) nella tabella o vista materializzata. |
ACTIVE_LOGICAL_BYTES |
INT64 |
Numero di byte logici (non compressi) precedenti a 90 giorni. |
LONG_TERM_LOGICAL_BYTES |
INT64 |
Numero di byte logici (non compressi) precedenti a 90 giorni. |
CURRENT_PHYSICAL_BYTES |
INT64 |
Numero totale di byte fisici per l'archiviazione attuale del in tutte le partizioni. |
TOTAL_PHYSICAL_BYTES |
INT64 |
Numero totale di byte fisici (compressi) utilizzati per l'archiviazione, inclusi i viaggi attivi, a lungo termine e nel tempo (dati eliminati o modificati) byte. Fail-safe (dati eliminati o modificati conservati dopo il viaggio nel tempo) (finestra) byte non sono inclusi. |
ACTIVE_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) meno recenti di 90 giorni, inclusi i byte con spostamento cronologico (dati eliminati o modificati). |
LONG_TERM_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) risalenti a più di 90 giorni fa. |
TIME_TRAVEL_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) utilizzati dallo spazio di archiviazione del viaggio nel tempo (dati eliminati o modificati). |
STORAGE_LAST_MODIFIED_TIME |
TIMESTAMP |
L'ora più recente in cui i dati sono stati scritti nella tabella. |
DELETED |
BOOLEAN |
Indica se la tabella viene eliminata o meno. |
TABLE_TYPE |
STRING |
Il tipo di tabella. Ad esempio, EXTERNAL o
BASE TABLE .
|
FAIL_SAFE_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) utilizzati dallo spazio di archiviazione fail-safe (dati eliminati o modificati). |
LAST_METADATA_INDEX_REFRESH_TIME |
TIMESTAMP |
L'ora dell'ultimo aggiornamento dell'indice dei metadati della tabella. |
Esempi
Esempio 1:
L'esempio seguente mostra i byte logici totali fatturati per il progetto corrente.
SELECT SUM(total_logical_bytes) AS total_logical_bytes FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE;
Il risultato è simile al seguente:
+---------------------+ | total_logical_bytes | +---------------------+ | 971329178274633 | +---------------------+
Esempio 2:
L'esempio seguente mostra come prevedere la differenza di prezzo per set di dati tra i modelli di fatturazione logica e fisica per i prossimi 30 giorni. Questo esempio presuppone che l'utilizzo dello spazio di archiviazione futuro sia costante 30 giorni dal momento dell'esecuzione della query. Tieni presente che la previsione è limitata alle tabelle di base ed esclude tutti gli altri tipi di tabelle all'interno di un set di dati.
I prezzi utilizzati nelle variabili di prezzo per questa query si riferiscono alla regione us-central1
. Se vuoi eseguire questa query per una regione diversa,
aggiorna le variabili di prezzo di conseguenza. Per informazioni sui prezzi, vedi Prezzi di archiviazione.
Apri la pagina BigQuery nella console Google Cloud.
Inserisci la seguente query GoogleSQL nella casella Editor query.
INFORMATION_SCHEMA
richiede la sintassi GoogleSQL. GoogleSQL è la sintassi predefinita nella console Google Cloud.DECLARE active_logical_gib_price FLOAT64 DEFAULT 0.02; DECLARE long_term_logical_gib_price FLOAT64 DEFAULT 0.01; DECLARE active_physical_gib_price FLOAT64 DEFAULT 0.04; DECLARE long_term_physical_gib_price FLOAT64 DEFAULT 0.02; WITH storage_sizes AS ( SELECT table_schema AS dataset_name, -- Logical SUM(IF(deleted=false, active_logical_bytes, 0)) / power(1024, 3) AS active_logical_gib, SUM(IF(deleted=false, long_term_logical_bytes, 0)) / power(1024, 3) AS long_term_logical_gib, -- Physical SUM(active_physical_bytes) / power(1024, 3) AS active_physical_gib, SUM(active_physical_bytes - time_travel_physical_bytes) / power(1024, 3) AS active_no_tt_physical_gib, SUM(long_term_physical_bytes) / power(1024, 3) AS long_term_physical_gib, -- Restorable previously deleted physical SUM(time_travel_physical_bytes) / power(1024, 3) AS time_travel_physical_gib, SUM(fail_safe_physical_bytes) / power(1024, 3) AS fail_safe_physical_gib, FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_PROJECT WHERE total_physical_bytes + fail_safe_physical_bytes > 0 -- Base the forecast on base tables only for highest precision results AND table_type = 'BASE TABLE' GROUP BY 1 ) SELECT dataset_name, -- Logical ROUND(active_logical_gib, 2) AS active_logical_gib, ROUND(long_term_logical_gib, 2) AS long_term_logical_gib, -- Physical ROUND(active_physical_gib, 2) AS active_physical_gib, ROUND(long_term_physical_gib, 2) AS long_term_physical_gib, ROUND(time_travel_physical_gib, 2) AS time_travel_physical_gib, ROUND(fail_safe_physical_gib, 2) AS fail_safe_physical_gib, -- Compression ratio ROUND(SAFE_DIVIDE(active_logical_gib, active_no_tt_physical_gib), 2) AS active_compression_ratio, ROUND(SAFE_DIVIDE(long_term_logical_gib, long_term_physical_gib), 2) AS long_term_compression_ratio, -- Forecast costs logical ROUND(active_logical_gib * active_logical_gib_price, 2) AS forecast_active_logical_cost, ROUND(long_term_logical_gib * long_term_logical_gib_price, 2) AS forecast_long_term_logical_cost, -- Forecast costs physical ROUND((active_no_tt_physical_gib + time_travel_physical_gib + fail_safe_physical_gib) * active_physical_gib_price, 2) AS forecast_active_physical_cost, ROUND(long_term_physical_gib * long_term_physical_gib_price, 2) AS forecast_long_term_physical_cost, -- Forecast costs total ROUND(((active_logical_gib * active_logical_gib_price) + (long_term_logical_gib * long_term_logical_gib_price)) - (((active_no_tt_physical_gib + time_travel_physical_gib + fail_safe_physical_gib) * active_physical_gib_price) + (long_term_physical_gib * long_term_physical_gib_price)), 2) AS forecast_total_cost_difference FROM storage_sizes ORDER BY (forecast_active_logical_cost + forecast_active_physical_cost) DESC;
Fai clic su Esegui.
Il risultato è simile al seguente:
+--------------+--------------------+-----------------------+---------------------+------------------------+--------------------------+-----------------------------+------------------------------+----------------------------------+-------------------------------+----------------------------------+--------------------------------+ | dataset_name | active_logical_gib | long_term_logical_gib | active_physical_gib | long_term_physical_gib | active_compression_ratio | long_term_compression_ratio | forecast_active_logical_cost | forecaset_long_term_logical_cost | forecast_active_physical_cost | forecast_long_term_physical_cost | forecast_total_cost_difference | +--------------+--------------------+-----------------------+---------------------+------------------------+--------------------------+-----------------------------+------------------------------+----------------------------------+-------------------------------+----------------------------------+--------------------------------+ | dataset1 | 10.0 | 10.0 | 1.0 | 1.0 | 10.0 | 10.0 | 0.2 | 0.1 | 0.04 | 0.02 | 0.24 |
Elenca le tabelle in un set di dati
Puoi elencare le tabelle nei set di dati nei seguenti modi:
- Utilizzo della console Google Cloud.
- Utilizzo dello strumento a riga di comando bq
Comando
bq ls
. - Chiamata al metodo dell'API
tables.list
. - Utilizzare le librerie client.
Autorizzazioni obbligatorie
Per elencare le tabelle in un set di dati, devi disporre almeno della licenza
bigquery.tables.list
autorizzazioni. Le impostazioni IAM predefinite
i ruoli includono bigquery.tables.list
autorizzazioni:
bigquery.user
bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Per ulteriori informazioni su ruoli e autorizzazioni IAM in BigQuery, vedi Controllo dell'accesso.
Elenca tabelle
Per elencare le tabelle in un set di dati:
Console
Nella console Google Cloud, nel riquadro di navigazione, fai clic sul set di dati per espanderlo. Vengono visualizzate le tabelle e le visualizzazioni nel set di dati.
Scorri l'elenco per visualizzare le tabelle nel set di dati. Le tabelle e le visualizzazioni sono identificate da icone diverse.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Emetti
bq ls
. Il flag--format
può essere utilizzato per controllare come output. Se elenchi le tabelle in un progetto diverso da quello predefinito, aggiungi l'ID progetto al set di dati nel seguente formato:project_id:dataset
.I flag aggiuntivi includono:
--max_results
o-n
: un numero intero che indica il numero massimo di risultati. Il valore predefinito è50
.
bq ls \ --format=pretty \ --max_results integer \ project_id:dataset
Dove:
- integer è un numero intero che rappresenta il numero di tabelle da dall'elenco di lettura.
- project_id è l'ID progetto.
- dataset è il nome del set di dati.
Quando esegui il comando, il campo
Type
mostraTABLE
oVIEW
. Ad esempio:+-------------------------+-------+----------------------+-------------------+ | tableId | Type | Labels | Time Partitioning | +-------------------------+-------+----------------------+-------------------+ | mytable | TABLE | department:shipping | | | myview | VIEW | | | +-------------------------+-------+----------------------+-------------------+
Esempi:
Inserisci il comando seguente per elencare le tabelle nel set di dati
mydataset
nel tuo progetto predefinito.bq ls --format=pretty mydataset
Inserisci il seguente comando per restituire più dell'output predefinito di 50 tabelle da
mydataset
.mydataset
si trova nel tuo progetto predefinito.bq ls --format=pretty --max_results 60 mydataset
Inserisci il seguente comando per elencare le tabelle del set di dati
mydataset
inmyotherproject
.bq ls --format=pretty myotherproject:mydataset
API
Per elencare le tabelle utilizzando l'API, chiama il metodo tables.list
.
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API C# BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Vai
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Go.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Node.js.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione PHP riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API PHP BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione Python riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Python.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Ruby
Prima di provare questo esempio, segui le istruzioni di configurazione Ruby riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Ruby.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Sicurezza dei tavoli
Per controllare l'accesso alle tabelle in BigQuery, consulta Introduzione ai controlli di accesso alle tabelle.
Passaggi successivi
- Per saperne di più sui set di dati, consulta Introduzione ai set di dati.
- Per saperne di più sulla gestione dei dati della tabella, vedi Gestire i dati della tabella.
- Per ulteriori informazioni su come specificare gli schemi delle tabelle, consulta la sezione Specificare uno schema.
- Per saperne di più sulla modifica degli schemi delle tabelle, consulta Modifica degli schemi delle tabelle.
- Per ulteriori informazioni sulla gestione delle tabelle, consulta Gestire le tabelle.
- Per una panoramica di
INFORMATION_SCHEMA
, vai a Introduzione a BigQueryINFORMATION_SCHEMA
.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di BigQuery in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova BigQuery gratuitamente