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 della partizione. L'esempio seguente aggiunge dati alla partizione 20160501 (1° maggio 2016) di una tabella esistente, supponendo 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 base all'ora di importazione, puoi utilizzare questa tecnica per caricare i dati meno recenti nella partizione corrispondente all'ora in cui sono stati creati in origine.

Puoi utilizzare questa tecnica anche per regolare i fusi orari. Per impostazione predefinita, le partizioni del tempo di importazione si basano sull'ora UTC. Se vuoi che l'ora della partizione corrisponda a un determinato fuso orario, puoi utilizzare i decoratori della partizione per compensare l'ora di importazione in UTC. Ad esempio, se utilizzi il fuso orario PST (Pacific Standard Time), puoi caricare i dati generati il 1° maggio 2016 PST nella partizione relativa a quella data utilizzando il decoratore della partizione corrispondente, $20160501.

Per le tabelle partizionate per colonne di unità di tempo e intervalli di 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 un'unica partizione, specificare il decoratore della partizione può migliorare il rendimento della scrittura.

L'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 sugli indicatori in questi comandi, consulta bq load e bq query.

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

Inserire dati in streaming in tabelle partizionate

Per informazioni su come inserire flussi di dati in una tabella partizionata con l'API BigQuery Storage Write, consulta Partizione delle colonne in base alle unità di tempo.

Passaggi successivi

Per scoprire di più sull'utilizzo delle tabelle partizionate, consulta: