Caricare i dati nelle tabelle partizionate
Questo documento descrive come caricare i dati nelle tabelle partizionate.
Scrivere dati in una partizione specifica
Puoi caricare i dati in una partizione specifica utilizzando il comando
bq load
con un
decoratore di partizione. L'app di esempio seguente aggiunge dati alla partizione 20160501
(1° maggio 2016) di una tabella esistente, presupponendo che la tabella sia già partizionata per data:
bq load --source_format=CSV 'my_dataset.my_table$20160501' data.csv
Puoi anche scrivere i risultati di una query in una partizione specifica:
bq query \ --use_legacy_sql=false \ --destination_table='my_table$20160501' \ --append_table=true \ 'SELECT * FROM my_dataset.another_table'
Con il partizionamento in fase di importazione, puoi utilizzare questa tecnica per caricare i dati meno recenti nella partizione corrispondente al momento della creazione originale dei dati.
Puoi anche utilizzare questa tecnica per regolare i fusi orari. Per impostazione predefinita, le partizioni
basate sull'ora di importazione si basano sull'ora UTC. Se vuoi che l'ora della partizione corrisponda a un
fuso orario specifico, puoi utilizzare i decoratori di partizione per compensare l'ora di importazione
UTC. Ad esempio, se ti trovi nel fuso orario standard della costa del Pacifico (PST), puoi
caricare i dati generati il 1° maggio 2016 alle 23:30 PST nella partizione per
quella data utilizzando il decoratore di partizione esplicito corrispondente,
$2016050123
. Se non avessi utilizzato questo decoratore esplicito, il caricamento sarebbe avvenuto
in $2016050207
(2 maggio ore 07:00 UTC).
Per le tabelle partizionate per colonne di unità di tempo e intervalli di numeri interi, l'ID partizione
specificato nel decoratore deve corrispondere ai dati in fase di scrittura. Ad esempio, se
la tabella è partizionata in base a una colonna DATE
, il decoratore deve corrispondere al valore
in quella colonna. In caso contrario, si verifica un errore. Tuttavia, se sai in anticipo che
i tuoi dati si trovano in una singola partizione, specificare il decoratore di partizione può
migliorare le prestazioni di scrittura.
L'app di esempio precedente aggiunge dati a una partizione. Per sovrascrivere i dati in una partizione, devi includere flag diversi per ogni comando, ovvero bq load --replace=true ...
e bq query --append_table=false ...
.
Per ulteriori informazioni sui flag in questi comandi, consulta bq load
e bq query
.
Per ulteriori informazioni sul caricamento dei dati, vedi Caricare i dati in BigQuery.
Trasmettere dati in streaming nelle tabelle partizionate
Per informazioni sullo streaming di dati in una tabella partizionata con l'API BigQuery Storage Write, vedi Streaming nelle tabelle partizionate.
Passaggi successivi
Per saperne di più sull'utilizzo delle tabelle partizionate, consulta:
- Creazione di tabelle partizionate
- Gestione delle tabelle partizionate
- Esecuzione di query sulle tabelle partizionate