Puede utilizar una tarea de sincronización ETL en tiempo real para sincronizar datos desde orígenes como DataHub y Hologres hacia Kafka. La tarea inicializa el topic de Kafka según el esquema de la tabla de origen y sincroniza los datos de forma continua para su consumo posterior.
Límites
La versión del origen de datos de Kafka debe estar entre 0.10.2 y 3.6.0.
La versión del origen de datos de Hologres debe ser V2.1 o posterior.
No se admite la sincronización incremental de datos desde una tabla con particiones de Hologres.
No es posible sincronizar mensajes correspondientes a cambios DDL en una tabla de Hologres.
Se pueden sincronizar datos incrementales de Hologres para los siguientes tipos de datos: INTEGER, BIGINT, TEXT, CHAR(n), VARCHAR(n), REAL, JSON, SERIAL, OID, INT4[], INT8[], FLOAT8[], BOOLEAN[], TEXT[] y JSONB.
Debe habilitar el registro binario para la tabla de Hologres en la base de datos de Hologres de origen. Para obtener más información, consulte Subscribe to Hologres binlogs.
Requisitos previos
Se ha adquirido un Serverless resource group.
Se han creado los orígenes de datos de Hologres y Kafka. Para obtener más información, consulte Create a data source for Data Integration.
Se ha establecido la conectividad de red entre el resource group y los orígenes de datos. Para obtener más información, consulte Network connectivity solutions.
Procedimiento
1. Seleccione un tipo de tarea de sincronización
-
Inicie sesión en la consola de DataWorks. En la región objetivo, haga clic en en el panel de navegación izquierdo. Seleccione un espacio de trabajo en la lista desplegable y haga clic en Go to Data Integration.
-
En el panel de navegación izquierdo, haga clic en Sync Tasks. En la parte superior de la página, haga clic en Create synchronization task y configure los siguientes parámetros.
Data Source And Destination:
Hologres→KafkaNew Task Name: Personalice un nombre para la tarea de sincronización.
Synchronization Mode:
single-table real-time.Synchronization Mode Step: Seleccione
full synchronization.
2. Configure la red y los recursos
En la sección Configure Network Connections and Resource Groups, seleccione el Resource Group para la tarea de sincronización. También puede establecer el Task Resource Usage en CUs.
Para el Source Data Source, seleccione un origen de datos de
Hologres. Para el Destination data source, seleccione un origen de datos deKafka. A continuación, haga clic en Test Connection.Una vez que las pruebas de conectividad para los orígenes de datos de origen y destino sean satisfactorias, haga clic en Next step.
3. Configure el vínculo de sincronización
a. Configure el origen de Hologres
En la parte superior de la página, haga clic en el origen de datos de Hologres y edite la Holo source information.

En la sección Holo source information, seleccione el esquema y la tabla de origen.
-
En la esquina superior derecha, haga clic en Data Sampling.
En el cuadro de diálogo Preview Data Output, especifique los Sampled Data Records y haga clic en Start Collection. Esto permite muestrear y previsualizar datos de la tabla de Hologres.
b. Configure el destino de Kafka
En la parte superior de la página, haga clic en el destino de Kafka y edite la Kafka Destination Information.

En la sección Kafka Destination Information, seleccione el topic de Kafka en el que desea escribir datos.
Establezca Merge Source Binlog Update Messages según sea necesario. Si habilita esta opción, los dos mensajes de actualización correspondientes a una operación de actualización en los registros binarios de origen se fusionan en un solo mensaje antes de escribirse en Kafka.
-
Configure el Output Format, la Key Column y los Kafka Producer Parameters.
Output Format: Especifica el formato de valor para los registros escritos en Kafka. Los formatos válidos son Canal CDC y JSON. Para obtener más información, consulte Appendix: Output formats.
-
Key Column: Especifica las columnas de origen cuyos valores se serializan en cadenas y se concatenan con comas para formar la clave de los registros escritos en el topic de Kafka.
NotaLas reglas de serialización para los valores de columna son las mismas que las reglas de serialización JSON para los tipos de datos de columna en Hologres.
Los valores de clave en el topic de Kafka determinan las particiones en las que se escriben los datos. Los datos con el mismo valor de clave se escriben en la misma partición. Para garantizar que un consumidor pueda consumir datos del topic de Kafka en secuencia, se recomienda utilizar las columnas de clave principal de la tabla de Hologres como columnas de clave.
Si no se utiliza ninguna columna de origen como columna de clave, los valores de clave en el topic de Kafka serán nulos. En este caso, los datos se escriben en particiones aleatorias del topic de Kafka.
Kafka Producer Parameters: Estos parámetros controlan la consistencia, la estabilidad y el manejo de excepciones para las operaciones de escritura. La configuración predeterminada es suficiente para la mayoría de los casos de uso. Para obtener información sobre los parámetros del productor admitidos por diferentes versiones de Kafka, consulte la documentación oficial de Kafka.
4. Alertas
Para evitar que los errores de la tarea provoquen retrasos en la sincronización de datos empresariales, puede establecer una directiva de alertas para la tarea de sincronización.
Haga clic en Alert Settings en la esquina superior derecha de la página para abrir la página de configuración de Alert Rule Configurations for Real-time Synchronization Subnode.
-
Haga clic en Add Alert Rule para configurar una regla de alerta.
NotaLas reglas de alerta que defina aquí se aplican a las subtareas de sincronización en tiempo real que genera esta tarea. Después de configurar la tarea, puede consultar y modificar las reglas de alerta para estas subtareas en la página Run and manage real-time synchronization tasks.
-
Gestione las reglas de alerta.
Para las reglas de alerta existentes, puede usar el interruptor para habilitarlas o deshabilitarlas. También puede enviar alertas a diferentes destinatarios según el nivel de alerta.
5. Configuración avanzada
La tarea de sincronización proporciona varios parámetros que puede modificar según sea necesario.
Antes de realizar cambios, asegúrese de comprender completamente la función de cada parámetro para evitar errores inesperados o problemas de calidad de datos.
Haga clic en advanced settings en la esquina superior derecha de la página para abrir la página de configuración avanzada.
En la página de advanced settings, modifique los valores de los parámetros según sea necesario.
6. Resource group
Puede hacer clic en Configure Resource Group en la esquina superior derecha para consultar y cambiar el resource group actual de la tarea.
7. Ejecute la tarea de sincronización
Después de completar todos los ajustes, haga clic en Complete en la parte inferior de la página.
En la página , busque la tarea que creó y haga clic en Start en la columna Operations.
Haga clic en el Name/ID de la tarea correspondiente en la Task List para consultar su proceso de ejecución detallado.
Realice operaciones de O&M en la tarea de sincronización
Consulte el estado de la tarea de sincronización
Una vez creada la tarea de sincronización, vaya a la página de tareas para consultar todas las tareas de sincronización del espacio de trabajo y su información básica.
La lista de tareas muestra las siguientes columnas: Name/ID, Data Source Synchronization Solution (tipo de sincronización, origen y destino), Status, Execution Overview, resource group y Actions.
Puede Start o Stop una tarea de sincronización en la columna Actions. En More, puede realizar otras operaciones, como Edit y View.
Para las tareas iniciadas, puede consultar el estado básico de ejecución en el Execution Overview y hacer clic en el área de resumen correspondiente para ver los detalles de ejecución.
Una tarea de sincronización en tiempo real desde una tabla de Hologres a Kafka consta de los siguientes tres pasos:
Structure Migration: Incluye el método de creación de la tabla de destino (tabla existente o creación automática de tabla). Si selecciona la creación automática de tabla, se muestra la instrucción de lenguaje de definición de datos (DDL) para crear la tabla.
Full initialization: Si selecciona Full Sync para el paso de sincronización de su tarea, el progreso de la inicialización completa se muestra aquí.
Real-time Data Synchronization: Contiene estadísticas sobre la sincronización en tiempo real, incluido el tráfico de lectura/escritura en tiempo real, datos sucios, failovers y registros de operaciones.
Vuelva a ejecutar una tarea
En casos especiales, como cuando necesita modificar campos sincronizados o ajustar la información de la tabla de destino, puede hacer clic en Rerun en la columna Operations de la tarea de sincronización. Esta acción sincroniza los campos ajustados y otros cambios con el destino. El proceso omite las tablas no modificadas que ya se sincronizaron previamente.
Para volver a ejecutar la tarea sin ningún cambio, haga clic en Rerun.
Si edita la tarea, haga clic en Complete después de realizar los cambios. La acción de la tarea cambia a Apply Updates. Al hacer clic en Apply Updates, la tarea se vuelve a ejecutar con la nueva configuración.
Apéndice: Descripción de formatos de salida
Canal CDC
Canal CDC es un formato de datos CDC definido por Alibaba Canal.
Json
El formato JSON utiliza los nombres de los campos del registro binario de Hologres como claves y serializa los valores de los campos en cadenas. Los pares clave-valor resultantes se escriben en el topic de Kafka como cadenas con formato JSON.