Plantilla de captura de datos modificados desde MySQL hasta BigQuery mediante Debezium y Pub/Sub (transmisión)

La plantilla Captura de datos modificados desde MySQL hasta BigQuery mediante Debezium y Pub/Sub es una canalización de transmisión que lee mensajes de Pub/Sub con datos de modificación desde una base de datos de MySQL y escribe los registros en BigQuery. Un conector Debezium captura las modificaciones en la base de datos de MySQL y publica los datos modificados en Pub/Sub. Luego, la plantilla lee los mensajes de Pub/Sub y los escribe en BigQuery.

Puedes usar esta plantilla para sincronizar las bases de datos de MySQL y las tablas de BigQuery. La canalización escribe los datos modificados en una tabla de etapa de pruebas de BigQuery y actualiza de forma intermitente una tabla de BigQuery que replica la base de datos de MySQL.

Requisitos de la canalización

Parámetros de la plantilla

Parámetro Descripción
inputSubscriptions La lista separada por comas de las suscripciones de entrada de Pub/Sub desde la que se va a leer, en el formato <subscription>,<subscription>, ...
changeLogDataset El conjunto de datos de BigQuery para almacenar las tablas de etapa de pruebas, en el formato <my-dataset>
replicaDataset La ubicación del conjunto de datos de BigQuery para almacenar las tablas de réplica, en el formato <my-dataset>
updateFrequencySecs (Opcional) el intervalo en el que la canalización actualiza la tabla de BigQuery y replica la base de datos de MySQL.

Ejecuta la plantilla

Para ejecutar esta plantilla, sigue estos pasos:

  1. En tu máquina local, clona el repositorio DataflowTemplates.
  2. Cambia al directorio v2/cdc-parent.
  3. Asegúrate de que el conector Debezium esté implementado.
  4. Mediante Maven, ejecuta la plantilla de 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"
      

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto de Google Cloud en el que deseas ejecutar el trabajo de Dataflow.
    • SUBSCRIPTIONS: la lista separada por comas de los nombres de suscripción a Pub/Sub
    • CHANGELOG_DATASET: el conjunto de datos de BigQuery para los datos de registro de cambios
    • REPLICA_DATASET: el conjunto de datos de BigQuery para tablas de réplica

¿Qué sigue?