En este instructivo, se muestra cómo crear e implementar un trabajo que replica de forma continua los datos modificados de una base de datos de MySQL a una tabla de BigQuery.
Objetivos
En este instructivo, harás lo siguiente:
- Implementar tu base de datos de MySQL en Compute Engine.
- Configurar tu base de datos de MySQL para habilitar la replicación.
- Crear y ejecutar un trabajo de replicación de Cloud Data Fusion.
- Observar los resultados en BigQuery.
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto,
usa la calculadora de precios.
Cuando se ejecuta la replicación, se te cobra por el clúster de Dataproc y se generan costos de procesamiento para BigQuery. Para optimizar estos costos, te recomendamos que uses los precios de tarifa plana de BigQuery.
Antes de comenzar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Crea una instancia pública de Cloud Data Fusion en la versión 6.3.0 o posterior. Si
creas una instancia
privada, configura el intercambio de tráfico de la red de VPC.
- Cuando crees la instancia, habilita la replicación haciendo clic en Agregar aceleradores y seleccionando la casilla de verificación Replicación.
- Para habilitarla en una instancia existente, consulta Habilita la replicación.
Roles obligatorios
Para obtener los permisos que necesitas para este instructivo, consulta Control de acceso con IAM y Otorga permiso de usuario de cuenta de servicio.
Instala MySQL en Compute Engine
Descarga una imagen de Docker del servidor de MySQL.
Sube tu imagen de Docker a Artifact Registry.
Implementa tu imagen de Docker en una instancia de VM nueva.
En la página Discos de Compute Engine, cambia el tamaño del disco a
500 GBy reinicia la VM.Crea un firewall para la instancia de VM.
Instala la base de datos de muestra de Sakila.
Habilita la replicación en tu base de datos de MySQL
Para habilitar la replicación, configura la captura de datos modificados (CDC) en MySQL.
Crea y ejecuta un trabajo de replicación de Cloud Data Fusion
Sube el controlador de JDBC
Descarga el controlador de JDBC de MySQL (versión 8 o superior) en tu máquina local.
En la interfaz web de Cloud Data Fusion, sube el controlador de JDBC.
Usa estos valores para configurar el controlador de JDBC:
- En el campo Nombre, ingresa
mysql. - En el campo Versión, mantén el valor predeterminado.
- En el campo Nombre de clase, ingresa
com.mysql.jdbc.Driver.
- En el campo Nombre, ingresa
Crea el trabajo
En la interfaz web de Cloud Data Fusion, haz clic en Replicación.
Haz clic en Crear un trabajo de replicación.
En la página Crear un trabajo de replicación nuevo, especifica un Nombre para el trabajo de replicación y haz clic en Siguiente.
Configura la fuente:
- Selecciona MySQL como la fuente.
- En Host, ingresa el nombre de host del servidor MySQL del que se leerá.
- En Puerto, ingresa el puerto que se usará para conectarse al servidor de MySQL:
3306. - En Nombre del complemento de JDBC , selecciona
mysqlo el nombre que especificaste cuando configuraste el controlador de JDBC. - En Nombre de la base de datos, ingresa
sakila. - En la sección Credenciales, ingresa tu nombre de usuario y contraseña para acceder al servidor de MySQL.
Haz clic en Siguiente.
Configura el destino:
- Selecciona el destino de BigQuery.
- El ID del proyecto y la clave de la cuenta de servicio se detectan de forma automática. Mantén los valores predeterminados.
- Opcional: En la sección Avanzado , configura el nombre y la ubicación del bucket de etapa de pruebas, el intervalo de carga, el prefijo de la tabla de etapa de pruebas, y el comportamiento cuando se descartan las tablas o bases de datos.
Haz clic en Siguiente.
Si la conexión se realiza correctamente, se muestra una lista de tablas de la base de datos de muestra de Sakila. Para este instructivo, selecciona algunas tablas y eventos para replicar, como los eventos Insert, Update y Delete.
Opcional: Configura las propiedades avanzadas. Para este instructivo, puedes usar la configuración predeterminada.
Haz clic en Siguiente.
En la página Revisar evaluación , haz clic en Ver asignaciones en cualquiera de las tablas para obtener una evaluación de los problemas de esquema, las características faltantes o los problemas de conectividad que podrían ocurrir durante la replicación. Si se produce algún problema, debes resolverlo antes de poder continuar. Para este instructivo, si alguna de las tablas tiene problemas, regresa al paso en el que seleccionaste las tablas y elige tablas o eventos (inserciones, actualizaciones o eliminaciones) sin problemas.
Para obtener más información sobre las conversiones de tipos de datos de la base de datos fuente a l destino de BigQuery, consulta Tipos de datos de replicación.
Haz clic en Siguiente.
Revisa los detalles del trabajo de replicación del resumen y, luego, haz clic en Implementar trabajo de replicación.
Inicia el trabajo
- En la página Detalles del trabajo de replicación, haz clic en Iniciar.
El trabajo de replicación pasa del estado Aprovisionamiento a Iniciando y, luego, a En ejecución. En el estado en ejecución, el trabajo de replicación carga una instantánea inicial de los datos de la tabla que seleccionaste en BigQuery. En este estado, el estado de la tabla aparece como Creando instantáneas. Después de que se carga la instantánea inicial en BigQuery, cualquier cambio que se realice en la tabla se replica en BigQuery y el estado de la tabla aparece como Replicando.
Supervisa el trabajo
Puedes iniciar y detener el trabajo de replicación, revisar su configuración y registros, y supervisar tu trabajo de replicación.
Puedes supervisar las actividades del trabajo de replicación desde la página Detalles del trabajo de replicación.
En la página Replicación, haz clic en el Nombre del trabajo de replicación.
Haz clic en Monitoring.
Observar los resultados en BigQuery
El trabajo de replicación crea un conjunto de datos replicados y una tabla en BigQuery, con nombres heredados de la base de datos y los nombres de tabla correspondientes de MySQL.
En la Google Cloud consola de, ve a la página BigQuery.
En el panel izquierdo, selecciona el nombre de tu proyecto para expandir una lista de conjuntos de datos.
Para ver los resultados, selecciona el conjunto de datos
sakilay selecciona una tabla.
Si deseas obtener más información, consulta la documentación de BigQuery.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Una vez que terminaste el instructivo, limpia los recursos que creaste en Google Cloud para que no consuman tu cuota y no se facturen en el futuro. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.
Borra la instancia de Cloud Data Fusion
Sigue las instrucciones para borrar tu instancia de Cloud Data Fusion.
Borra el proyecto
- En la Google Cloud consola de, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que tú quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
- Obtén más información sobre la replicación en Cloud Data Fusion.
- Consulta la referencia de la API de replicación.
- Trabaja con el instructivo para replicar datos de SQL Server a BigQuery.
- Trabaja con el instructivo para replicar datos de Oracle a BigQuery.