Escribir Flink SQL desde cero para la sincronización de MySQL a Hologres requiere comprender la sintaxis de las instrucciones CDAS y CTAS, gestionar manualmente los cambios de esquema y administrar los ID de servidor para los conectores CDC. Las plantillas de sincronización de datos generan este código SQL automáticamente: usted selecciona los catálogos de origen y destino, elige un método de sincronización y la plantilla produce un archivo Flink SQL listo para despliegue que abarca datos completos, datos incrementales y cambios de esquema.
Métodos de sincronización
Hay dos métodos disponibles. Elija según la estructura de sus datos de origen:
|
Método |
Cuándo utilizarlo |
SQL generado |
|
Sincronización de múltiples bases de datos y tablas |
Para sincronizar una o varias tablas de una o más bases de datos hacia una sola base de datos de destino |
|
|
Fusión de datos fragmentados |
Para combinar varias tablas fragmentadas con un esquema similar en una única tabla de destino |
|
Ambos métodos utilizan conectores Flink Change Data Capture (CDC) para sincronizar automáticamente los datos completos, los datos incrementales y los cambios de esquema (como columnas nuevas) desde cada tabla de origen hasta el destino.
Limitaciones
Las plantillas de sincronización de datos solo admiten MySQL como origen y Hologres como destino.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Un catálogo de MySQL. Si no existe ninguno, cree uno; consulte Manage MySQL catalogs
Un catálogo de Hologres. Si no existe ninguno, cree uno; consulte Manage Hologres Catalog
Acceso a un espacio de trabajo de Realtime Compute for Apache Flink
Comportamiento de creación de tablas: Realtime Compute for Apache Flink crea automáticamente la tabla de destino en Hologres. Si la tabla ya existe, los datos se sincronizan según la base de datos y la tabla de destino que seleccione durante la creación del plan.
Cambios de tipo de datos: Hologres no permite modificar los tipos de datos de las columnas. Si el tipo de datos de un campo de origen difiere del de la tabla existente en Hologres, la escritura fallará. Modifique el tipo de datos de la columna y vuelva a sincronizar.
Nomenclatura predeterminada: La plantilla crea la base de datos y la tabla de destino con los mismos nombres que el catálogo de origen, y se sincronizan al esquema public de forma predeterminada. Para cambiar el nombre de la base de datos, el nombre de la tabla o el esquema, utilice instrucciones SQL. Consulte CREATE TABLE AS (CTAS) y CREATE DATABASE AS (CDAS).
Sincronizar datos mediante una plantilla
Inicie sesión en la consola de Realtime Compute for Apache Flink.
Localice el espacio de trabajo y haga clic en Console en la columna Actions.
En el menú de navegación izquierdo, haga clic en Development > ETL. Haga clic en el icono
y seleccione New Draft with Template.En el cuadro de diálogo New Draft, haga clic en la pestaña Flink CDC. Seleccione la tarjeta Data Synchronization from MySQL to Hologres y haga clic en Next.
-
Configure el origen y el destino: haga clic en Next.
Categoría Parámetro Descripción Origen MySQL Catalog Seleccione un catálogo de MySQL existente. Si no existe ninguno, haga clic en Create Catalog. Consulte Manage MySQL catalogs. Origen MySQL server-id Introduzca un ID único para cada cliente de base de datos MySQL. Valores válidos: 5400–6400. También puede especificar un rango (por ejemplo, 5400-5408). Si la lectura paralela está habilitada en el modo de lectura incremental, especifique un rango para asignar un ID de servidor único a cada hilo paralelo.ImportanteNo utilice el mismo server-id para diferentes despliegues o servicios que accedan a la base de datos.
Destino Hologres Catalog Seleccione un catálogo de Hologres existente. Si no existe ninguno, haga clic en Create Catalog. Consulte Manage Hologres Catalog. 
-
Cree un plan. Siga los pasos correspondientes al método de sincronización elegido:
-
Sincronización de múltiples bases de datos y tablas
En la pestaña To Single Database, seleccione la base de datos y la tabla de origen.

-
Haga clic en Save Plan. El plan aparecerá en la lista de planes.
NotaLa plantilla crea una base de datos y una tabla en el catálogo de destino con los mismos nombres que en el origen. Ambos se sincronizan al esquema
publicde forma predeterminada. Para personalizar el nombre de la base de datos, el nombre de la tabla o el esquema, utilice instrucciones SQL. Consulte CREATE TABLE AS (CTAS) y CREATE DATABASE AS (CDAS). Haga clic en Next.
Revise el SQL generado. Puede modificar Name, Location o Engine Version según sus necesidades.

-
Fusión de datos fragmentados
En la pestaña To Multiple Databases, seleccione las bases de datos y tablas de origen, o introduzca los nombres de la base de datos y la tabla de destino.
Se recomienda usar expresiones regulares para especificar las bases de datos y tablas de origen.Haga clic en Save Plan. El plan aparecerá en la lista de planes.
Puede crear varios planes (tanto para sincronización de múltiples bases de datos y tablas como para fusión de datos fragmentados) dentro de un mismo borrador. 
Haga clic en Next.
Revise el SQL generado. Puede modificar Name, Location o Engine Version según sus necesidades.

-
Haga clic en Create. Se le redirigirá a la página del editor SQL. A partir de aquí, el flujo de trabajo es el mismo que para un despliegue estándar. Consulte Job development map y Start a job deployment.
Pasos siguientes
Para personalizar el SQL generado con opciones avanzadas, como asignación de esquemas o nombres de tabla personalizados, consulte CREATE TABLE AS (CTAS) y CREATE DATABASE AS (CDAS).
Para iniciar el trabajo después de crear el despliegue, consulte Start a job deployment.
Para obtener más información sobre las tablas de resultados de Hologres, consulte Create a Hologres result table.