Gestione dei dati delle tabelle
Questo documento descrive come gestire i dati delle tabelle in BigQuery. Puoi lavorare con i dati delle tabelle BigQuery nei seguenti modi:
- Carica i dati in una tabella
- Aggiungi o sovrascrivi dati della tabella
- Sfogliare (o visualizzare l'anteprima) dei dati della tabella
- Esegui query sui dati della tabella
- Modificare i dati delle tabelle utilizzando DML (Data Manipulation Language)
- Copia i dati della tabella
- Esporta i dati della tabella
Per informazioni sulla gestione degli schemi delle tabelle, consulta Modifica degli schemi delle tabelle.
Prima di iniziare
Concedi i ruoli che concedono le autorizzazioni necessarie agli utenti che devono eseguire ciascuna attività in questo documento. Le autorizzazioni necessarie (se presenti) per eseguire un'attività sono elencate nella sezione "Autorizzazioni obbligatorie" dell'attività.
Caricamento di dati in una tabella
Puoi caricare i dati quando crei un oppure puoi crearne una vuota e caricare i dati in un secondo momento. Quando carichi puoi utilizzare il rilevamento automatico degli schemi formati di dati supportati oppure puoi specificare lo schema.
Per ulteriori informazioni sul caricamento dei dati, consulta la documentazione dell'origine il formato e la posizione dei dati:
Per saperne di più sul caricamento dei dati da Cloud Storage, consulta:
Per ulteriori informazioni sul caricamento dei dati da un'origine locale, consulta Caricamento di dati da file locali.
Aggiunta e sovrascrittura dei dati delle tabelle
Puoi sovrascrivere i dati della tabella utilizzando un'operazione di caricamento o di query. Puoi aggiungere ulteriori dati a una tabella esistente eseguendo un'operazione di caricamento/aggiunta aggiungendo i risultati della query alla tabella.
Per ulteriori informazioni su come aggiungere o sovrascrivere una tabella durante il caricamento dei dati, consulta la documentazione per il formato dei dati di origine:
- Aggiunta o sovrascrittura di una tabella con dati Avro
- Aggiungere o sovrascrivere una tabella con dati CSV
- Aggiunta o sovrascrittura di una tabella con dati JSON
- Aggiungere o sovrascrivere una tabella con dati Parquet
- Aggiunta o sovrascrittura di una tabella con dati ORC
- Aggiunta o sovrascrittura di una tabella con dati di Datastore
Per aggiungere o sovrascrivere una tabella utilizzando i risultati della query, specifica una destinazione e imposta la disposizione di scrittura su:
- Aggiungi alla tabella: aggiunge i risultati della query a una tabella esistente.
- Sovrascrivi tabella: sovrascrive una tabella esistente con lo stesso nome. utilizzando i risultati della query.
Puoi utilizzare la seguente query per aggiungere record da una tabella all'altra:
INSERT INTO. . ( , ) (SELECT * FROM . . )
Per ulteriori informazioni sull'utilizzo dei risultati delle query per aggiungere o sovrascrivere dati, consulta Scrittura dei risultati di una query.
Esplorare i dati della tabella
Puoi sfogliare i dati delle tabelle per:
- Utilizzo della console Google Cloud
- Utilizzo del comando
bq head
dello strumento a riga di comando bq - Chiamata a
tabledata.list
Metodo API - Utilizzo delle librerie client
Autorizzazioni obbligatorie
Per sfogliare i dati delle tabelle e delle partizioni, devi disporre dell'autorizzazione Identity and Access Management (IAM) di bigquery.tables.getData
.
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per sfogliare i dati delle tabelle e delle partizioni:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Se disponi dell'autorizzazione bigquery.datasets.create
, puoi sfogliare i dati nelle tabelle e nelle partizioni dei set di dati che crei.
Per ulteriori informazioni su ruoli e autorizzazioni IAM in BigQuery, vedi Autorizzazioni e ruoli predefiniti.
Esplorare i dati della tabella
Per sfogliare i dati della tabella:
Console
Nella console Google Cloud, apri la pagina BigQuery.
Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.
Fai clic su una tabella nell'elenco.
Fai clic su Dettagli e prendi nota del valore in Numero di righe. Potrebbe servirti per controllare il punto di partenza dei risultati utilizzando l'API o lo strumento a riga di comando bq.
Fai clic su Anteprima. Viene visualizzato un set di dati di esempio.
Riga di comando
Esegui il comando bq head
con il flag --max_rows
per elencare tutte le colonne in
un determinato numero di righe della tabella. Se --max_rows
non è specificato, il valore predefinito
è 100.
Per sfogliare un sottoinsieme di colonne nella tabella (incluse le colonne nidificate e ripetute
colonne), utilizza il flag --selected_fields
e inserisci le colonne come virgole
elenco separato.
Per specificare il numero di righe da saltare prima di visualizzare i dati della tabella, utilizza il metodo
Il flag --start_row=integer
(o la scorciatoia -s
). La
il valore predefinito è 0
. Puoi recuperare il numero di righe in una tabella utilizzando
il comando bq show
per recuperare le informazioni della tabella.
Se la tabella che stai sfogliando si trova in un progetto diverso da quello predefinito,
aggiungi l'ID progetto al comando nel seguente formato:
project_id:dataset.table
.
bq head \ --max_rows integer1 \ --start_row integer2 \ --selected_fields "columns" \ project_id:dataset.table
Dove:
- integer1 è il numero di righe da visualizzare.
- integer2 è il numero di righe da saltare prima di visualizzare i dati.
- columns è un elenco di colonne separate da virgole.
- project_id è l'ID progetto.
- dataset è il nome del set di dati contenente la tabella.
- table è il nome della tabella da sfogliare.
Esempi:
Inserisci il seguente comando per elencare tutte le colonne nelle prime 10 righe in
mydataset.mytable
. mydataset
è nel tuo progetto predefinito.
bq head --max_rows=10 mydataset.mytable
Inserisci il seguente comando per elencare tutte le colonne nelle prime 100 righe in
mydataset.mytable
. mydataset
si trova in myotherproject
, non è il tuo indirizzo predefinito
progetto.
bq head myotherproject:mydataset.mytable
Inserisci il seguente comando per visualizzare solo field1
e field2
in
mydataset.mytable
. Il comando utilizza il flag --start_row
per passare alla riga 100.
mydataset.mytable
è nel tuo progetto predefinito.
bq head --start_row 100 --selected_fields "field1,field2" mydataset.mytable
Poiché il comando bq head
non crea un job di query, lo fanno i comandi bq head
non appaiono nella cronologia delle query e non ti vengono addebitati.
API
Sfoglia i dati di una tabella chiamando tabledata.list
.
Specifica il nome della tabella nel parametro tableId
.
Configura questi parametri facoltativi per controllare l'output:
maxResults
: numero massimo di risultati da restituireselectedFields
: elenco di colonne separate da virgole da restituire. Se non specificato, vengono restituite tutte le colonnestartIndex
: indice in base zero della riga iniziale da leggere
I valori vengono restituiti aggregati in un oggetto JSON che è necessario analizzare, come descritto
in tabledata.list
documentazione di riferimento.
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 ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Go
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 API Go 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.
Librerie client di Cloud per Go l'impaginazione viene eseguita automaticamente per impostazione predefinita, quindi non è necessario implementarla tu, ad esempio:
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 ulteriori informazioni, vedi Configura 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 eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Le librerie client di Cloud per Node.js l'impaginazione viene eseguita automaticamente per impostazione predefinita, quindi non è necessario implementarla tu, ad esempio:
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 API PHP 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.
L'impaginazione avviene automaticamente nelle librerie client Cloud per PHP
utilizzando la funzione del generatore rows
, che recupera la pagina successiva di
durante l'iterazione.
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 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 eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
L'impaginazione avviene automaticamente nelle librerie client di Cloud per Ruby
utilizzando Table#data
e Data#next
.
Esecuzione di query sui dati della tabella
Dopo aver caricato i dati in BigQuery, puoi eseguire una query sui dati utilizzando uno dei seguenti tipi di job di query:
- Job di query interattive. Di predefinito, BigQuery esegue job di query interattivi (on demand) il prima possibile.
- Job di query in batch. Con questi lavori, BigQuery mette in coda ogni query batch per tuo conto e poi avvia quando le risorse inattive sono disponibili, in genere entro pochi minuti.
Puoi eseguire job di query interattivi o in batch utilizzando i seguenti metodi:
- Scrivi ed esegui una query nella console Google Cloud.
- Esegui il comando
bq query
nello strumento a riga di comando bq. - Chiama in modo programmatico il
jobs.query
ojobs.insert
in BigQuery API REST. - Utilizza le librerie client di BigQuery.
Per ulteriori informazioni sull'esecuzione di query sulle tabelle BigQuery, consulta Introduzione all'esecuzione di query sui dati di BigQuery.
Oltre a eseguire query sui dati archiviati nelle tabelle BigQuery, puoi per eseguire query su dati archiviati esternamente. Per ulteriori informazioni, vedi Introduzione alle origini dati esterne.
Modifica dei dati della tabella
Puoi modificare i dati in una tabella utilizzando le istruzioni DML (Data Manipulation Language) in SQL. Le istruzioni DML ti consentono di aggiornare, unione, insert ed delete righe nelle tabelle. Per riferimenti ed esempi di sintassi di ogni tipo di istruzione DML, consulta Istruzioni per il linguaggio di manipolazione dei dati in GoogleSQL.
Il dialetto SQL precedente non supporta le istruzioni DML. Per aggiornare o eliminare dati utilizzando il codice SQL precedente, devi eliminare la tabella e poi ricrearla con un nuovo e i dati di Google Cloud. In alternativa, puoi scrivere una query che modifichi i dati e scrivere i risultati della query in una nuova tabella di destinazione.
Copia dei dati della tabella in corso...
Puoi copiare una tabella in uno dei seguenti modi:
- Utilizzo della console Google Cloud
- Utilizzo del comando
bq cp
dello strumento a riga di comando bq - Chiamata al metodo API
jobs.insert
e la configurazione di un job di copia - Utilizzo delle librerie client
Per saperne di più sulla copia delle tabelle, consulta Copia di una tabella.
Esportazione dei dati delle tabelle
Puoi esportare i dati delle tabelle in un bucket Cloud Storage in formato CSV, JSON, Avro Formato Parquet (anteprima). Esportazione in macchina locale non supportata; ma puoi scaricare e salvare i risultati delle query utilizzando la console Google Cloud.
Per ulteriori informazioni, vedi Esportazione dei dati di una tabella.
Sicurezza dei tavoli
Per controllare l'accesso alle tabelle in BigQuery, consulta Introduzione ai controlli di accesso alle tabelle.
Passaggi successivi
- Per ulteriori informazioni sul caricamento dei dati, consulta Introduzione al caricamento dei dati.
- Per ulteriori informazioni su come eseguire query sui dati, consulta Introduzione all'esecuzione di query sui dati di BigQuery.
- Per saperne di più sulla modifica degli schemi delle tabelle, consulta Modifica degli schemi delle tabelle.
- Per saperne di più sulla creazione e sull'utilizzo delle tabelle, consulta Creazione e utilizzo delle tabelle.
- Per saperne di più sulla gestione delle tabelle, vedi Gestire le tabelle.