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
- El conector Debezium debe implementarse.
- Los mensajes de Pub/Sub deben serializarse en una Row de Beam.
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:
- En tu máquina local, clona el repositorio DataflowTemplates.
- Cambia al directorio
v2/cdc-parent
. - Asegúrate de que el conector Debezium esté implementado.
- 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/SubCHANGELOG_DATASET
: el conjunto de datos de BigQuery para los datos de registro de cambiosREPLICA_DATASET
: el conjunto de datos de BigQuery para tablas de réplica
¿Qué sigue?
- Obtén información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas que proporciona Google.