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 bq load comando con un decoratore di partizione. Il seguente esempio aggiunge i 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 per data di importazione, puoi utilizzare questa tecnica per caricare i dati precedenti nella partizione corrispondente al momento in cui i dati sono stati creati originariamente.

Puoi anche utilizzare questa tecnica per regolare i fusi orari. Per impostazione predefinita, le partizioni per data di importazione sono basate 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 utilizzi il fuso orario PST (Pacific Standard Time), 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 hai utilizzato questo decoratore esplicito, i dati verranno caricati in $2016050207 (2 maggio alle 07:00 UTC).

Per le tabelle partizionate per colonna di unità di tempo e intervallo di numeri interi, l'ID partizione specificato nel decoratore deve corrispondere ai dati scritti. 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 il rendimento di scrittura.

L'esempio precedente aggiunge i 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 di questi comandi, consulta bq load e bq query.

Per ulteriori informazioni sul caricamento dei dati, consulta Introduzione al caricamento dei dati in BigQuery.

Inserire un flusso di dati nelle tabelle partizionate

Per informazioni sull'inserimento di un flusso di dati in una tabella partizionata con la BigQuery Storage Write API (gRPC), consulta Inserire un flusso di dati nelle tabelle partizionate.

Passaggi successivi

Per scoprire di più su come lavorare con le tabelle partizionate, consulta: