Potresti dover partizionare le tabelle BigQuery in segmenti più piccoli per migliorare le prestazioni delle query e controllare i costi. Poiché Datastream non supporta le tabelle di partizionamento in BigQuery, devi aggiungere manualmente le partizioni prima di avviare lo stream. Per informazioni generali sul partizionamento in BigQuery, consulta Introduzione alle tabelle partizionate.
Partizionare le tabelle in BigQuery
Per partizionare le tabelle in BigQuery, utilizza una delle opzioni descritte nelle sezioni seguenti, a seconda del tuo caso d'uso.
Opzione 1: la tabella esiste già in BigQuery ed è inclusa in uno stream
- Escludi la tabella dalla configurazione dell'origine del flusso. Per ulteriori informazioni sull'inclusione ed esclusione di oggetti dalla configurazione dell'origine, consulta Configurare i database di origine.
- Attendi qualche minuto per assicurarti che Datastream abbia completato l'elaborazione di tutti gli eventi per la tabella.
- Crea la tabella partizionata in BigQuery. Se vuoi conservare i dati già presenti nella tabella BigQuery originale, assegna alla tabella un nome temporaneo diverso.
- Copia i dati dalla tabella originale alla nuova tabella partizionata.
- Elimina o rinomina la tabella originale.
- Modifica il nome temporaneo della nuova tabella con il nome della tabella originale.
- Aggiungi la tabella di origine alla configurazione del flusso.
Opzione 2: la tabella non esiste in BigQuery
Crea la tabella in BigQuery utilizzando uno dei seguenti approcci:
- Utilizza il BigQuery Migration Toolkit.
Crea manualmente una tabella BigQuery compatibile con Datastream. Ad esempio, se vuoi creare una tabella e partizionare i dati in base alla colonna
TIMESTAMP, puoi utilizzare una query simile alla seguente:CREATE TABLE dataset.partitioned_table ( 'id' INT64, 'name' STRING 'update_date' DATETIME, 'datastream_metadata' STRUCT<'uuid' STRING, 'source_timestamp' INT64>, PRIMARY KEY ('id') NOT ENFORCED ) PARTITION BY TIMESTAMP(update_date)
Dopo aver creato la tabella partizionata, assicurati che il valore di
max_stalenesssia impostato in base ai tuoi requisiti. Se non imposti il valore, viene impostato il valore predefinito di0. Se lasci questo valore a0, i dati saranno più aggiornati, ma il costo sarà significativo. Per informazioni su come trovare il valore ottimale per la tua tabella, consulta Utilizzare le tabelle BigQuery con l'opzionemax_staleness.Aggiungi la tabella di origine alla configurazione dello stream.
(Facoltativo) Se hai impostato il backfill manuale per lo stream, avvia il backfill per la tabella.