Gestisci tabelle
Questo documento descrive come gestire le tabelle in BigQuery. Puoi gestire le tabelle BigQuery nei seguenti modi:
- Aggiorna le proprietà della tabella:
- Rinominare (copiare) una tabella
- Copiare una tabella
- Eliminare una tabella
- Ripristinare una tabella eliminata
Per ulteriori informazioni sulla creazione e l'utilizzo delle tabelle, tra cui la ricezione di informazioni, l'elenco delle tabelle e il controllo dell'accesso ai dati delle tabelle, consulta Creare e utilizzare le tabelle.
Prima di iniziare
Concedi ruoli IAM (Identity and Access Management) che concedono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento. Le eventuali autorizzazioni necessarie per eseguire un'attività sono elencate nella sezione "Autorizzazioni obbligatorie" dell'attività.
Aggiorna le proprietà della tabella
Puoi aggiornare i seguenti elementi di una tabella:
Autorizzazioni obbligatorie
Per ottenere le autorizzazioni necessarie per aggiornare le proprietà della tabella,
chiedi all'amministratore di concederti il ruolo IAM
Editor dati (roles/bigquery.dataEditor
) per una tabella.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per aggiornare le proprietà della tabella. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per aggiornare le proprietà della tabella sono necessarie le seguenti autorizzazioni:
-
bigquery.tables.update
-
bigquery.tables.get
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Inoltre, se disponi dell'autorizzazione bigquery.datasets.create
, puoi aggiornare le proprietà delle tabelle dei set di dati che crei.
Aggiorna la descrizione di una tabella
Puoi aggiornare la descrizione di una tabella nei seguenti modi:
- Utilizzo della console Google Cloud.
- Utilizzo di un'istruzione
ALTER TABLE
DDL (Data Definition Language). - Viene utilizzato il comando
bq update
dello strumento a riga di comando bq. - Chiamata al metodo API
tables.patch
. - Utilizzare le librerie client.
Per aggiornare la descrizione di una tabella:
Console
Non puoi aggiungere una descrizione quando crei una tabella utilizzando la console Google Cloud. Dopo aver creato la tabella, puoi aggiungere una descrizione nella pagina Dettagli.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona la tabella.
Nel riquadro dei dettagli, fai clic su Dettagli.
Nella sezione Descrizione, fai clic sull'icona a forma di matita per modificare la descrizione.
Inserisci una descrizione nella casella e fai clic su Aggiorna per salvare.
SQL
Utilizza
l'istruzione ALTER TABLE SET OPTIONS
.
L'esempio seguente aggiorna la
descrizione di una tabella denominata mytable
:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
ALTER TABLE mydataset.mytable SET OPTIONS ( description = 'Description of mytable');
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Esegui il comando
bq update
con il flag--description
. Se stai aggiornando una tabella in un progetto diverso da quello predefinito, aggiungi l'ID progetto al nome del set di dati nel seguente formato:project_id:dataset
.bq update \ --description "description" \ project_id:dataset.table
Sostituisci quanto segue:
description
: il testo che descrive la tabella tra virgoletteproject_id
: il tuo ID progettodataset
: il nome del set di dati che contiene la tabella che stai aggiornandotable
: il nome della tabella che stai aggiornando
Esempi:
Per modificare la descrizione della tabella
mytable
nel set di datimydataset
in "Description of mytable", inserisci il seguente comando. Il set di datimydataset
si trova nel progetto predefinito.bq update --description "Description of mytable" mydataset.mytable
Per modificare la descrizione della tabella
mytable
nel set di datimydataset
in "Description of mytable", inserisci il seguente comando. Il set di datimydataset
si trova nel progettomyotherproject
, non nel progetto predefinito.bq update \ --description "Description of mytable" \ myotherproject:mydataset.mytable
API
Chiama il metodo tables.patch
e utilizza la proprietà description
nella risorsa della tabella per aggiornare la descrizione della tabella. Poiché il metodo tables.update
sostituisce l'intera risorsa tabella, è preferibile il metodo tables.patch
.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Configura la proprietà Table.description e chiama Client.update_table() per inviare l'aggiornamento all'API.Aggiorna la data di scadenza di una tabella
Puoi impostare una scadenza predefinita per la tabella a livello di set di dati oppure puoi impostare la scadenza di una tabella al momento della sua creazione. La scadenza di una tabella è spesso indicata come "durata" o TTL.
Quando una tabella scade, viene eliminata insieme a tutti i dati che contiene. Se necessario, puoi annullare l'eliminazione della tabella scaduta entro la finestra di spostamento cronologico specificata per il set di dati. Per ulteriori informazioni, consulta Ripristinare le tabelle eliminate.
Se imposti la scadenza al momento della creazione della tabella, la scadenza predefinita della tabella del set di dati viene ignorata. Se non imposti una scadenza predefinita per la tabella a livello di set di dati e non ne imposti una al momento della creazione, la tabella non scadrà mai e dovrai eliminarla manualmente.
In qualsiasi momento dopo la creazione della tabella, puoi aggiornare la data di scadenza nei seguenti modi:
- Utilizzo della console Google Cloud.
- Utilizzo di un'istruzione
ALTER TABLE
DDL (Data Definition Language). - Viene utilizzato il comando
bq update
dello strumento a riga di comando bq. - Chiamata al metodo API
tables.patch
. - Utilizzare le librerie client.
Per aggiornare la data di scadenza di una tabella:
Console
Non puoi aggiungere una scadenza quando crei una tabella utilizzando la console Google Cloud. Dopo aver creato una tabella, puoi aggiungere o aggiornare la scadenza di una tabella nella pagina Dettagli tabella.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona la tabella.
Nel riquadro dei dettagli, fai clic su Dettagli.
Fai clic sull'icona a forma di matita accanto a Informazioni tabella.
Per Scadenza tabella, seleziona Specifica data. Quindi seleziona la data di scadenza utilizzando il widget calendario.
Fai clic su Aggiorna per salvare. La data di scadenza aggiornata viene visualizzata nella sezione Informazioni tabella.
SQL
Utilizza
l'istruzione ALTER TABLE SET OPTIONS
.
L'esempio seguente aggiorna la
data di scadenza di una tabella denominata mytable
:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
ALTER TABLE mydataset.mytable SET OPTIONS ( -- Sets table expiration to timestamp 2025-02-03 12:34:56 expiration_timestamp = TIMESTAMP '2025-02-03 12:34:56');
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Esegui il comando
bq update
con il flag--expiration
. Se stai aggiornando una tabella in un progetto diverso da quello predefinito, aggiungi l'ID progetto al nome del set di dati nel seguente formato:project_id:dataset
.bq update \ --expiration integer \
project_id:dataset.table
Sostituisci quanto segue:
integer
: la durata predefinita (in secondi) della tabella. Il valore minimo è 3600 secondi (un'ora). La scadenza corrisponde all'ora attuale più il valore intero. Se specifichi0
, la scadenza della tabella viene rimossa e la tabella non scadrà mai. Le tabelle senza scadenza devono essere eliminate manualmente.project_id
: il tuo ID progetto.dataset
: il nome del set di dati che contiene la tabella che stai aggiornando.table
: il nome della tabella che stai aggiornando.
Esempi:
Per aggiornare la scadenza della tabella
mytable
nel set di datimydataset
impostandola su 5 giorni (432000 secondi), inserisci il comando seguente. Il set di datimydataset
si trova nel progetto predefinito.bq update --expiration 432000 mydataset.mytable
Per aggiornare la scadenza della tabella
mytable
nel set di datimydataset
impostandola su 5 giorni (432000 secondi), inserisci il comando seguente. Il set di datimydataset
si trova nel progettomyotherproject
, non nel progetto predefinito.bq update --expiration 432000 myotherproject:mydataset.mytable
API
Chiama il metodo tables.patch
e utilizza la proprietà expirationTime
nella risorsa della tabella per aggiornare la scadenza della tabella in millisecondi. Poiché il metodo tables.update
sostituisce l'intera risorsa della tabella, il metodo tables.patch
è
preferito.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Configura la proprietà Table.expires e chiama Client.update_table() per inviare l'aggiornamento all'API.Per aggiornare la data di scadenza predefinita della partizione del set di dati:
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Aggiorna la modalità di arrotondamento di una tabella
Puoi aggiornare la modalità di arrotondamento predefinita di una tabella utilizzando l'istruzione DDL ALTER TABLE SET OPTIONS
.
L'esempio seguente aggiorna la modalità di arrotondamento predefinita per mytable
in
ROUND_HALF_EVEN
:
ALTER TABLE mydataset.mytable SET OPTIONS ( default_rounding_mode = "ROUND_HALF_EVEN");
Quando aggiungi un campo NUMERIC
o BIGNUMERIC
a una tabella e non specifichi
una modalità di arrotondamento, questa modalità viene impostata automaticamente sulla modalità di arrotondamento predefinita della tabella. La modifica della modalità di arrotondamento predefinita di una tabella non influisce sulla modalità di arrotondamento dei campi esistenti.
Aggiorna la definizione dello schema di una tabella
Per ulteriori informazioni sull'aggiornamento della definizione dello schema di una tabella, consulta Modifica degli schemi delle tabelle.
Rinominare una tabella
Puoi rinominare una tabella dopo averla creata utilizzando
l'istruzione ALTER TABLE RENAME TO
.
L'esempio seguente rinomina mytable
in mynewtable
:
ALTER TABLE mydataset.mytable
RENAME TO mynewtable;
Limitazioni sulla ridenominazione delle tabelle
- Se vuoi rinominare una tabella contenente flussi di dati, devi arrestare il flusso di dati e attendere che BigQuery indichi che il flusso di dati non è in uso.
- In genere una tabella può essere rinominata entro 72 ore dall'ultima operazione di flusso, ma potrebbe richiedere più tempo.
- Gli ACL delle tabelle e i criteri di accesso alle righe esistenti vengono conservati, ma gli aggiornamenti relativi all'ACL delle tabelle e ai criteri di accesso alle righe apportati durante la ridenominazione della tabella non vengono conservati.
- Non puoi rinominare una tabella ed eseguire un'istruzione DML contemporaneamente.
- La ridenominazione di una tabella rimuove tutti i tag Data Catalog al suo interno.
- Non puoi rinominare le tabelle esterne.
Copiare una tabella
In questa sezione viene descritto come creare una copia completa di una tabella. Per informazioni su altri tipi di copie di tabelle, consulta cloni di tabelle e snapshot delle tabelle.
Puoi copiare una tabella nei seguenti modi:
- Utilizzare la console Google Cloud.
- Utilizza il comando
bq cp
. - Utilizza un'istruzione DDL (Data Definition Language)
CREATE TABLE COPY
. - Chiama il metodo API jobs.insert e configura un job
copy
. - Utilizzare le librerie client.
Limitazioni nella copia delle tabelle
I job di copia delle tabelle sono soggetti alle seguenti limitazioni:
- Quando copi una tabella, il nome della tabella di destinazione deve rispettare le stesse convenzioni di denominazione valide per la creazione di una tabella.
- Le copie delle tabelle sono soggette ai limiti di BigQuery per i job di copia.
- La console Google Cloud supporta la copia di una sola tabella alla volta. Non puoi sovrascrivere una tabella esistente nel set di dati di destinazione. La tabella deve avere un nome univoco nel set di dati di destinazione.
- La copia di più tabelle di origine in una tabella di destinazione non è supportata dalla console Google Cloud.
Quando copi più tabelle di origine in una tabella di destinazione utilizzando l'API, lo strumento a riga di comando bq o le librerie client, tutte le tabelle di origine devono avere schemi identici, incluso qualsiasi partizionamento o clustering.
Alcuni aggiornamenti dello schema delle tabelle, come l'eliminazione o la ridenominazione delle colonne, possono far sì che le tabelle abbiano schemi apparentemente identici ma rappresentazioni interne diverse. Di conseguenza, un job di copia della tabella potrebbe non riuscire con l'errore
Maximum limit on diverging physical schemas reached
. In questo caso, puoi utilizzare l'istruzioneCREATE TABLE LIKE
per assicurarti che lo schema della tabella di origine corrisponda esattamente a quello della tabella di destinazione.Il tempo impiegato da BigQuery per copiare le tabelle può variare in modo significativo tra le diverse esecuzioni, perché lo spazio di archiviazione sottostante è gestito in modo dinamico.
Non puoi copiare e aggiungere una tabella di origine a una tabella di destinazione che ha più colonne di quella di origine e le colonne aggiuntive hanno valori predefiniti. Puoi invece eseguire
INSERT destination_table SELECT * FROM source_table
per copiare i dati.Se l'operazione di copia sovrascrive una tabella esistente, viene mantenuto l'accesso a livello di tabella per la tabella esistente. I tag della tabella di origine non vengono copiati nella tabella sovrascritta.
Se l'operazione di copia crea una nuova tabella, l'accesso a livello di tabella per la nuova tabella viene determinato dai criteri di accesso del set di dati in cui viene creata. Inoltre, i tag vengono copiati dalla tabella di origine alla nuova tabella.
Quando copi più tabelle di origine in una tabella di destinazione, tutte le tabelle di origine devono avere tag identici.
Ruoli obbligatori
Per eseguire le attività in questo documento, devi disporre delle seguenti autorizzazioni.
Ruoli per copiare tabelle e partizioni
Per ottenere le autorizzazioni necessarie per copiare tabelle e partizioni,
chiedi all'amministratore di concederti il ruolo IAM
Editor dati (roles/bigquery.dataEditor
) sui set di dati di origine e di destinazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per copiare tabelle e partizioni. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per copiare tabelle e partizioni sono necessarie le seguenti autorizzazioni:
-
bigquery.tables.getData
sui set di dati di origine e di destinazione -
bigquery.tables.get
sui set di dati di origine e di destinazione -
bigquery.tables.create
sul set di dati di destinazione -
bigquery.tables.update
sul set di dati di destinazione
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Autorizzazione a eseguire un job di copia
Per ottenere l'autorizzazione necessaria per eseguire un job di copia,
chiedi all'amministratore di concederti il ruolo IAM
Utente job (roles/bigquery.jobUser
) sui set di dati di origine e di destinazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene l'autorizzazione bigquery.jobs.create
, necessaria per eseguire un job di copia.
Potresti riuscire a ottenere questa autorizzazione anche con i ruoli personalizzati o altri ruoli predefiniti.
Copiare una singola tabella di origine
Puoi copiare una singola tabella nei seguenti modi:
- Utilizzo della console Google Cloud.
- Viene utilizzato il comando
bq cp
dello strumento a riga di comando bq. - Utilizzo di un'istruzione
CREATE TABLE COPY
DDL (Data Definition Language). - Chiamata al metodo API
jobs.insert
, configurazione di un jobcopy
e specifica della proprietàsourceTable
. - Utilizzare le librerie client.
La console Google Cloud e l'istruzione CREATE TABLE COPY
supportano solo una tabella di origine e una tabella di destinazione in un job di copia. Per copiare più file di origine in una tabella di destinazione, devi utilizzare lo strumento a riga di comando bq o l'API.
Per copiare una singola tabella di origine:
Console
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona la tabella.
Nel riquadro dei dettagli, fai clic su Copia tabella.
Nella finestra di dialogo Copia tabella, in Destinazione:
- In Nome progetto, scegli il progetto in cui verrà archiviata la tabella copiata.
- In Nome set di dati, seleziona il set di dati in cui vuoi archiviare la tabella copiata. I set di dati di origine e di destinazione devono trovarsi nella stessa località.
- In Nome tabella, inserisci un nome per la nuova tabella. Il nome deve essere univoco nel set di dati di destinazione. Non puoi sovrascrivere una tabella esistente nel set di dati di destinazione utilizzando la console Google Cloud. Per ulteriori informazioni sui requisiti dei nomi delle tabelle, consulta Nome delle tabelle.
Fai clic su Copia per avviare il job di copia.
SQL
Utilizza l'istruzione CREATE TABLE COPY
per copiare una tabella denominata table1
in una nuova tabella denominata table1copy
:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
CREATE TABLE
myproject.mydataset.table1copy
COPYmyproject.mydataset.table1
;Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Esegui il comando
bq cp
. È possibile utilizzare i flag facoltativi per controllare la disposizione di scrittura della tabella di destinazione:-a
o--append_table
aggiunge i dati dalla tabella di origine a una tabella esistente nel set di dati di destinazione.-f
o--force
sovrascrive una tabella esistente nel set di dati di destinazione e non richiede conferma.-n
o--no_clobber
restituisce il seguente messaggio di errore se la tabella esiste nel set di dati di destinazione:Table 'project_id:dataset.table' already exists, skipping.
Se-n
non è specificato, il comportamento predefinito prevede di scegliere se sostituire la tabella di destinazione.--destination_kms_key
è la chiave Cloud KMS gestita dal cliente utilizzata per criptare la tabella di destinazione.
--destination_kms_key
non è stata dimostrata qui. Per ulteriori informazioni, consulta Protezione dei dati con le chiavi di Cloud Key Management Service.Se il set di dati di origine o di destinazione si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto ai nomi del set di dati nel seguente formato:
project_id:dataset
.(Facoltativo) Fornisci il flag
--location
e imposta il valore sulla tua posizione.bq --location=location cp \ -a -f -n \
project_id:dataset.source_table
\project_id:dataset.destination_table
Sostituisci quanto segue:
location
: il nome del luogo in cui ti trovi. Il flag--location
è facoltativo. Ad esempio, se utilizzi BigQuery nell'area geografica di Tokyo, puoi impostare il valore del flag suasia-northeast1
. Puoi impostare un valore predefinito per la località utilizzando il file.bigqueryrc
.project_id
: il tuo ID progetto.dataset
: il nome del set di dati di origine o di destinazione.source_table
: la tabella che stai copiando.destination_table
: il nome della tabella nel set di dati di destinazione.
Esempi:
Per copiare la tabella
mydataset.mytable
nella tabellamydataset2.mytable2
, inserisci il seguente comando. Entrambi i set di dati si trovano nel progetto predefinito.bq cp mydataset.mytable mydataset2.mytable2
Per copiare la tabella
mydataset.mytable
e sovrascrivere una tabella di destinazione con lo stesso nome, inserisci il comando seguente. Il set di dati di origine si trova nel progetto predefinito. Il set di dati di destinazione si trova nel progettomyotherproject
. La scorciatoia-f
viene utilizzata per sovrascrivere la tabella di destinazione senza un prompt.bq cp -f \ mydataset.mytable \ myotherproject:myotherdataset.mytable
Per copiare la tabella
mydataset.mytable
e restituire un errore se il set di dati di destinazione contiene una tabella con lo stesso nome, inserisci il seguente comando. Il set di dati di origine si trova nel progetto predefinito. Il set di dati di destinazione si trova nel progettomyotherproject
. La scorciatoia-n
viene utilizzata per impedire di sovrascrivere una tabella con lo stesso nome.bq cp -n \ mydataset.mytable \ myotherproject:myotherdataset.mytable
Per copiare la tabella
mydataset.mytable
e aggiungere i dati a una tabella di destinazione con lo stesso nome, inserisci il comando seguente. Il set di dati di origine si trova nel progetto predefinito. Il set di dati di destinazione si trova nel progettomyotherproject
. La scorciatoia- a
viene utilizzata per l'aggiunta alla tabella di destinazione.bq cp -a mydataset.mytable myotherproject:myotherdataset.mytable
API
Puoi copiare una tabella esistente tramite l'API chiamando il metodo bigquery.jobs.insert
e configurando un job copy
. Specifica la tua località nella proprietà location
nella sezione jobReference
della risorsa job.
Devi specificare i seguenti valori nella configurazione del job:
"copy": { "sourceTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "destinationTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "createDisposition": string, // Optional "writeDisposition": string, // Optional },
Se sourceTable
fornisce informazioni sulla tabella da
copiare, destinationTable
fornisce informazioni sulla nuova
tabella, createDisposition
specifica se creare la
tabella se non esiste e writeDisposition
specifica
se sovrascrivere o aggiungere a una tabella esistente.
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni per la configurazione di PHP nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Copia più tabelle di origine
Puoi copiare più tabelle di origine in una tabella di destinazione nei seguenti modi:
- Viene utilizzato il comando
bq cp
dello strumento a riga di comando bq. - Chiamare il metodo
jobs.insert
, configurare un jobcopy
e specificare la proprietàsourceTables
. - Utilizzare le librerie client.
Tutte le tabelle di origine devono avere schemi e tag identici ed è consentita una sola tabella di destinazione.
Le tabelle di origine devono essere specificate come elenco separato da virgole. Non puoi utilizzare caratteri jolly quando copi più tabelle di origine.
Per copiare più tabelle di origine, seleziona una delle seguenti opzioni:
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Esegui il comando
bq cp
e includi più tabelle di origine come elenco separato da virgole. È possibile utilizzare i flag facoltativi per controllare la disposizione di scrittura della tabella di destinazione:-a
o--append_table
aggiunge i dati delle tabelle di origine a una tabella esistente nel set di dati di destinazione.-f
o--force
sovrascrive una tabella di destinazione esistente nel set di dati di destinazione e non richiede conferma.-n
o--no_clobber
restituisce il seguente messaggio di errore se la tabella esiste nel set di dati di destinazione:Table 'project_id:dataset.table' already exists, skipping.
Se-n
non è specificato, il comportamento predefinito prevede la richiesta di scegliere se sostituire la tabella di destinazione.--destination_kms_key
è la chiave Cloud Key Management Service gestita dal cliente utilizzata per criptare la tabella di destinazione.
--destination_kms_key
non è stata dimostrata qui. Per ulteriori informazioni, consulta Protezione dei dati con le chiavi di Cloud Key Management Service.Se il set di dati di origine o di destinazione si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto ai nomi del set di dati nel seguente formato:
project_id:dataset
.(Facoltativo) Fornisci il flag
--location
e imposta il valore sulla tua posizione.bq --location=location cp \ -a -f -n \
project_id:dataset.source_table
,project_id:dataset.source_table
\project_id:dataset.destination_table
Sostituisci quanto segue:
location
: il nome del luogo in cui ti trovi. Il flag--location
è facoltativo. Ad esempio, se utilizzi BigQuery nell'area geografica di Tokyo, puoi impostare il valore del flag suasia-northeast1
. Puoi impostare un valore predefinito per la località utilizzando il file.bigqueryrc
.project_id
: il tuo ID progetto.dataset
: il nome del set di dati di origine o di destinazione.source_table
: la tabella che stai copiando.destination_table
: il nome della tabella nel set di dati di destinazione.
Esempi:
Per copiare la tabella
mydataset.mytable
e la tabellamydataset.mytable2
nella tabellamydataset2.tablecopy
, inserisci il seguente comando . Tutti i set di dati si trovano nel progetto predefinito.bq cp \ mydataset.mytable,mydataset.mytable2 \ mydataset2.tablecopy
Per copiare la tabella
mydataset.mytable
e la tabellamydataset.mytable2
nella tabellamyotherdataset.mytable
e per sovrascrivere una tabella di destinazione con lo stesso nome, inserisci il comando seguente. Il set di dati di destinazione si trova nel progettomyotherproject
, non nel progetto predefinito. La scorciatoia-f
viene utilizzata per sovrascrivere la tabella di destinazione senza un prompt.bq cp -f \ mydataset.mytable,mydataset.mytable2 \ myotherproject:myotherdataset.mytable
Per copiare la tabella
myproject:mydataset.mytable
e la tabellamyproject:mydataset.mytable2
e restituire un errore se il set di dati di destinazione contiene una tabella con lo stesso nome, inserisci il comando seguente. Il set di dati di destinazione si trova nel progettomyotherproject
. La scorciatoia-n
viene utilizzata per impedire la sovrascrittura di una tabella con lo stesso nome.bq cp -n \ myproject:mydataset.mytable,myproject:mydataset.mytable2 \ myotherproject:myotherdataset.mytable
Per copiare la tabella
mydataset.mytable
e la tabellamydataset.mytable2
e aggiungere i dati a una tabella di destinazione con lo stesso nome, inserisci il comando seguente. Il set di dati di origine si trova nel progetto predefinito. Il set di dati di destinazione si trova nel progettomyotherproject
. La scorciatoia-a
viene utilizzata per l'aggiunta alla tabella di destinazione.bq cp -a \ mydataset.mytable,mydataset.mytable2 \ myotherproject:myotherdataset.mytable
API
Per copiare più tabelle utilizzando l'API, chiama il metodo jobs.insert
, configura un job copy
della tabella e specifica la proprietà sourceTables
.
Specifica la tua regione nella proprietà location
nella sezione jobReference
della risorsa di lavoro.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Copia tabelle tra regioni
Puoi copiare una tabella, uno snapshot di tabella o un clone di una tabella da una regione BigQuery o da più regioni a un'altra. Sono incluse tutte le tabelle a cui è stata applicata la soluzione Cloud KMS (CMEK) gestita dal cliente. Ciò comporta costi aggiuntivi in base ai prezzi di BigQuery.
Per copiare una tabella tra regioni, seleziona una delle seguenti opzioni:
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Esegui il comando
bq cp
:
bq cp \ -f -n \SOURCE_PROJECT:SOURCE_DATASET.SOURCE_TABLE
\DESTINATION_PROJECT:DESTINATION_DATASET.DESTINATION_TABLE
Sostituisci quanto segue:
SOURCE_PROJECT
: ID progetto di origine. Se il set di dati di origine si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto al nome del set di dati di origine.DESTINATION_PROJECT
: ID progetto di destinazione. Se il set di dati di destinazione si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto al nome del set di dati di destinazione.SOURCE_DATASET
: il nome del set di dati di origine.DESTINATION_DATASET
: il nome del set di dati di destinazione.SOURCE_TABLE
: la tabella che stai copiando.DESTINATION_TABLE
: il nome della tabella nel set di dati di destinazione.Esempi:
Per copiare la tabella
mydataset_us.mytable
dalla località multiregionaleus
alla tabellamydataset_eu.mytable2
nell'area multiregionaleeu
, inserisci il comando seguente. Entrambi i set di dati si trovano nel progetto predefinito.bq cp --sync=false mydataset_us.mytable mydataset_eu.mytable2
Per copiare una tabella abilitata per CMEK, puoi creare una chiave utilizzando Cloud KMS e specificare la chiave nel comando
bq cp
oppure utilizzare un set di dati di destinazione con una CMEK predefinita configurata. L'esempio seguente specifica la CMEK di destinazione nel comandobq cp
.bq cp --destination_kms_key=projects/testing/locations/us/keyRings/us_key/cryptoKeys/eu_key mydataset_us.mytable mydataset_eu.mytable2
API
Per copiare una tabella tra regioni utilizzando l'API, chiama il metodo jobs.insert
e configura un job copy
di tabella.
Specifica la tua regione nella proprietà location
nella sezione jobReference
della risorsa di lavoro.
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni per la configurazione di PHP nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Limitazioni
La copia di una tabella in più regioni è soggetta alle seguenti limitazioni:
- Non puoi copiare una tabella utilizzando la console Google Cloud o l'istruzione
TABLE COPY DDL
. - Non puoi copiare una tabella se nella tabella di origine sono presenti tag di criteri.
- Non puoi copiare i criteri IAM associati alle tabelle. Puoi applicare gli stessi criteri alla destinazione al termine della copia.
- Non puoi copiare più tabelle di origine in un'unica tabella di destinazione.
- Non puoi copiare le tabelle in modalità di aggiunta.
- Le informazioni relative ai viaggi cronologici non vengono copiate nella regione di destinazione.
- I cloni delle tabelle vengono convertiti in una copia completa nella regione di destinazione.
Visualizza l'utilizzo attuale della quota
Puoi visualizzare l'utilizzo attuale dei job di query, caricamento, estrazione o copia eseguendo una query INFORMATION_SCHEMA
per visualizzare i metadati relativi ai job eseguiti in un periodo di tempo specificato. Puoi confrontare il tuo utilizzo attuale con il limite di quota per determinare l'utilizzo della quota per un particolare tipo di job. La seguente query di esempio utilizza la vista INFORMATION_SCHEMA.JOBS
per elencare il numero di job di query e di caricamento, estrazione e copia in base al progetto:
SELECT sum(case when job_type="QUERY" then 1 else 0 end) as QRY_CNT, sum(case when job_type="LOAD" then 1 else 0 end) as LOAD_CNT, sum(case when job_type="EXTRACT" then 1 else 0 end) as EXT_CNT, sum(case when job_type="COPY" then 1 else 0 end) as CPY_CNT FROM `region-eu`.INFORMATION_SCHEMA.JOBS_BY_PROJECT WHERE date(creation_time)= CURRENT_DATE()
Per visualizzare i limiti di quota per i job di copia, consulta Quote e limiti - Job di copia.
Elimina tabelle
Puoi eliminare una tabella nei seguenti modi:
- Utilizzo della console Google Cloud.
- Utilizzo di un'istruzione
DROP TABLE
DDL (Data Definition Language). - Utilizzo dello strumento a riga di comando bq
bq rm
. - Chiamata al metodo API
tables.delete
. - Utilizzare le librerie client.
Per eliminare tutte le tabelle nel set di dati, elimina il set di dati.
Quando elimini una tabella, vengono eliminati anche tutti i dati al suo interno. Per eliminare automaticamente le tabelle dopo un periodo di tempo specificato, imposta la scadenza predefinita della tabella per il set di dati o imposta la scadenza quando crei la tabella.
Se elimini una tabella, vengono eliminate anche le eventuali autorizzazioni associate. Quando ricrei una tabella eliminata, devi anche riconfigurare manualmente le eventuali autorizzazioni di accesso associate in precedenza.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eliminare una tabella,
chiedi all'amministratore di concederti il ruolo IAM
Editor dati (roles/bigquery.dataEditor
) per il set di dati.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per eliminare una tabella. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eliminare una tabella sono necessarie le seguenti autorizzazioni:
-
bigquery.tables.delete
-
bigquery.tables.get
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Eliminazione di una tabella
Per eliminare una tabella:
Console
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona la tabella.
Nel riquadro dei dettagli, fai clic su Elimina tabella.
Digita
"delete"
nella finestra di dialogo, quindi fai clic su Elimina per confermare.
SQL
Utilizza
l'istruzione DROP TABLE
.
Nell'esempio seguente viene eliminata una tabella denominata mytable
:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
DROP TABLE mydataset.mytable;
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Usa il comando
bq rm
con il flag--table
(o la scorciatoia-t
) per eliminare una tabella. Quando utilizzi lo strumento a riga di comando bq per rimuovere una tabella, devi confermare l'azione. Puoi utilizzare il flag--force
(o la scorciatoia-f
) per saltare la conferma.Se la tabella si trova in un set di dati di un progetto diverso da quello predefinito, aggiungi l'ID progetto al nome del set di dati nel seguente formato:
project_id:dataset
.bq rm \ -f \ -t \ project_id:dataset.table
Sostituisci quanto segue:
project_id
: il tuo ID progettodataset
: il nome del set di dati che contiene la tabellatable
: il nome della tabella che stai eliminando
Esempi:
Per eliminare la tabella
mytable
dal set di datimydataset
, inserisci il comando seguente. Il set di datimydataset
è nel progetto predefinito.bq rm -t mydataset.mytable
Per eliminare la tabella
mytable
dal set di datimydataset
, inserisci il comando seguente. Il set di datimydataset
si trova nel progettomyotherproject
, non nel progetto predefinito.bq rm -t myotherproject:mydataset.mytable
Per eliminare la tabella
mytable
dal set di datimydataset
, inserisci il comando seguente. Il set di datimydataset
è nel progetto predefinito. Il comando utilizza la scorciatoia-f
per ignorare la conferma.bq rm -f -t mydataset.mytable
API
Chiama il metodo API tables.delete
e specifica la tabella da eliminare utilizzando il parametro tableId
.
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni per la configurazione di PHP nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Ruby
Prima di provare questo esempio, segui le istruzioni per la configurazione di Ruby nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Ripristina tabelle eliminate
Puoi annullare l'eliminazione di una tabella nella finestra di spostamento cronologico specificata per il set di dati, incluse le eliminazioni esplicite e implicite dovute alla scadenza della tabella. Sei in grado di configurare la finestra di spostamento cronologico.
La finestra di spostamento cronologico può avere una durata compresa tra due e sette giorni. Una volta trascorso il periodo di spostamento cronologico, non è possibile annullare l'eliminazione di una tabella utilizzando alcun metodo, inclusa l'apertura di un ticket di assistenza.
Quando ripristini una tabella partizionata che è stata eliminata perché scaduta, devi ricreare manualmente le partizioni.
Quando ripristini una tabella dai dati storici, i tag della tabella di origine non vengono copiati nella tabella di destinazione.
Per ripristinare una tabella eliminata ma che è ancora all'interno del periodo di spostamento cronologico, copia la tabella in una nuova tabella con il decorator dell'ora @<time>
.
Per copiare la tabella, puoi utilizzare lo strumento a riga di comando bq o le librerie client:
Console
Non puoi annullare l'eliminazione di una tabella utilizzando la console Google Cloud.
bq
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Per ripristinare una tabella, devi prima determinare un timestamp UNIX della data di inizio della tabella (in millisecondi). Puoi utilizzare il comando
date
di Linux per generare il timestamp Unix a partire da un normale valore di timestamp:date -d '2023-08-04 16:00:34.456789Z' +%s000
A questo punto, utilizza il comando
bq copy
con il decoratore del viaggio nel tempo@<time>
per eseguire l'operazione di copia della tabella.Ad esempio, inserisci il comando seguente per copiare la tabella
mydataset.mytable
nel momento1418864998000
in una nuova tabellamydataset.newtable
.bq cp mydataset.mytable@1418864998000 mydataset.newtable
(Facoltativo) Fornisci il flag
--location
e imposta il valore sulla tua posizione.Puoi anche specificare un offset relativo. L'esempio seguente copia la versione di una tabella di un'ora fa:
bq cp mydataset.mytable@-3600000 mydataset.newtable
Per maggiori informazioni, consulta Ripristinare una tabella da un momento specifico.
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di BigQuery.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Se prevedi di ripristinare una tabella in un secondo momento rispetto a quanto consentito dalla finestra di spostamento cronologico, crea uno snapshot della tabella. Per ulteriori informazioni, consulta Istantanee delle tabelle.
Sicurezza dei tavoli
Per controllare l'accesso alle tabelle in BigQuery, consulta Introduzione ai controlli di accesso alle tabelle.
Passaggi successivi
- Per ulteriori informazioni sulla creazione e sull'utilizzo delle tabelle, consulta Creare e utilizzare le tabelle.
- Per ulteriori informazioni sulla gestione dei dati, vedi Utilizzo dei dati delle tabelle.
- Per ulteriori informazioni su come specificare gli schemi delle tabelle, consulta la sezione Specifica di uno schema.
- Per saperne di più sulla modifica degli schemi delle tabelle, consulta Modifica degli schemi delle tabelle.
- Per saperne di più sui set di dati, consulta Introduzione ai set di dati.
- Per ulteriori informazioni sulle viste, consulta la sezione Introduzione alle viste.