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 con partizioni in BigQuery, devi aggiungere manualmente le partizioni prima di avviare lo stream. Per informazioni generali sulla suddivisione in parti 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 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
max_staleness
sia impostato in base ai tuoi requisiti. Se non imposti il valore, viene impostato il valore predefinito0
. Per ulteriori informazioni, consulta Utilizzare le tabelle BigQuery con l'opzionemax_staleness
.Aggiungi la tabella di origine alla configurazione dello stream.
Se vuoi, se hai impostato il backfill manuale per lo stream, avvia il backfill per la tabella.