Change Data Capture (Cattura dati) da MySQL a BigQuery utilizzando i modelli Debezium e Pub/Sub (stream)

Il modello Change Data Capture (CDC) da MySQL a BigQuery utilizzando il modello Debezium e Pub/Sub è una pipeline in modalità flusso che legge i messaggi Pub/Sub con i dati delle modifiche da un database MySQL e scrive i record in BigQuery. Un connettore Debezium acquisisce le modifiche al database MySQL e pubblica i dati modificati in Pub/Sub. Il modello legge quindi i messaggi Pub/Sub e li scrive in BigQuery.

Puoi utilizzare questo modello per sincronizzare i database MySQL e le tabelle BigQuery. La pipeline scrive i dati modificati in una tabella temporanea BigQuery e aggiorna a intermittenza una tabella BigQuery che replica il database MySQL.

Requisiti della pipeline

Parametri del modello

Parametro Descrizione
inputSubscriptions L'elenco separato da virgole delle sottoscrizioni di input Pub/Sub da cui leggere, nel formato <subscription>,<subscription>, ...
changeLogDataset Il set di dati BigQuery per archiviare le tabelle temporanee nel formato <my-dataset>
replicaDataset La posizione del set di dati BigQuery in cui archiviare le tabelle di replica, nel formato <my-dataset>
updateFrequencySecs (Facoltativo) L'intervallo in cui la pipeline aggiorna la tabella BigQuery che replica il database MySQL.

Esegui il modello

Per eseguire questo modello, segui questi passaggi:

  1. Sulla macchina locale, clona il repository DataflowTemplates.
  2. Passa alla directory v2/cdc-parent.
  3. Assicurati che sia stato eseguito il deployment del connettore Debezium.
  4. Utilizzando Maven, esegui il modello Dataflow:
    mvn exec:java -pl cdc-change-applier -Dexec.args="--runner=DataflowRunner \
        --inputSubscriptions=SUBSCRIPTIONS \
        --updateFrequencySecs=300 \
        --changeLogDataset=CHANGELOG_DATASET \
        --replicaDataset=REPLICA_DATASET \
        --project=PROJECT_ID \
        --region=REGION_NAME"
      

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto Google Cloud in cui vuoi eseguire il job Dataflow
    • SUBSCRIPTIONS: il tuo elenco separato da virgole di nomi di sottoscrizione Pub/Sub
    • CHANGELOG_DATASET: il tuo set di dati BigQuery per i dati del log delle modifiche
    • REPLICA_DATASET: il tuo set di dati BigQuery per le tabelle di replica

Passaggi successivi