Este tema describe cómo crear una tarea de sincronización para exportar datos de MaxCompute a un origen de datos MySQL.
Requisitos previos
-
Creó una instancia de ApsaraDB RDS for MySQL y obtuvo su ID de instancia. También agregó las direcciones IP obligatorias a una lista blanca en la consola de ApsaraDB RDS. Para obtener más información, consulte Create an ApsaraDB RDS for MySQL instance.
NotaCuando utiliza un Serverless Resource Group para ejecutar una tarea de sincronización de ApsaraDB RDS, tenga en cuenta lo siguiente:
Si accede al origen de datos mediante una red interna (VPC), debe agregar el bloque CIDR del vSwitch vinculado al resource group a la lista blanca del origen de datos.
Si accede al origen de datos a través de Internet, agregue la dirección IP elástica (EIP) de la Virtual Private Cloud (VPC) a la que está vinculado el Serverless Resource Group a la lista blanca del origen de datos.
Para obtener más información, consulte Configure a whitelist.
-
Si utiliza una base de datos de ApsaraDB RDS for MySQL, cree una tabla llamada ODPS_RESULT en la base de datos mediante la ejecución de la siguiente instrucción:
CREATE TABLE `ODPS_RESULT` ( `education` varchar(255) NULL , `num` int(10) NULL );Después de crear la tabla, ejecute la instrucción
DESC ODPS_RESULT;para consultar los detalles de la tabla. Se preparó una tabla de resultados llamada result_table. Para obtener más información, consulte Create a table and upload data.
Se crearon un nodo virtual (start) y un nodo ODPS SQL (insert_data). Para obtener más información, consulte Create a workflow.
Contexto
En DataWorks, normalmente se usa Data Integration para importar periódicamente los datos comerciales generados en su sistema hacia un espacio de trabajo. Una vez que las tareas SQL procesan los datos, es posible exportar los resultados de forma periódica a un origen de datos específico para visualizarlos o utilizarlos posteriormente.
Data Integration admite la importación y exportación de datos desde diversos orígenes de datos, como ApsaraDB RDS, MySQL, SQL Server, PostgreSQL, MaxCompute, ApsaraDB for Memcache (OCS), PolarDB-X, Object Storage Service (OSS), Oracle, FTP, DM, HDFS y MongoDB. Para consultar la lista completa de tipos de orígenes de datos compatibles, vea Supported data sources and plug-ins.
Paso 1: Agregar un origen de datos
Solo los administradores del espacio de trabajo pueden agregar orígenes de datos. Los miembros con otros roles únicamente pueden consultarlos.
-
Inicie sesión en la consola de DataWorks. En la región de destino, 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 Management Center.
-
Cree un origen de datos MySQL.
En el panel de navegación izquierdo, elija para ir a la página Data Sources.
Haga clic en Add. En el cuadro de diálogo Add, seleccione MySQL.
-
Configure el origen de datos.
En el cuadro de diálogo Add MySQL Data Source, configure los parámetros. En este ejemplo, seleccione Alibaba Cloud instance mode.
A continuación se describen los parámetros principales.
Parámetro
Descripción
Applicable environment
Configure el origen de datos por separado para Development Environment y Production Environment.
Configuration Mode
Seleccione Alibaba Cloud instance mode.
Alibaba Cloud Account
Seleccione Current Alibaba Cloud Account.
Region
Seleccione la región donde se encuentra el origen de datos.
Instance
Seleccione la instancia de ApsaraDB RDS for MySQL que creó. Después de seleccionar una instancia, haga clic en Obtain Latest Address para consultar los detalles de la instancia.
Si no hay ninguna instancia disponible, vaya a la consola de ApsaraDB RDS para crear una.
Database Name, Username, and Password
Especifique el nombre de la base de datos predeterminada para este origen de datos e introduzca el nombre de usuario y la contraseña de la base de datos. No utilice el signo de arroba (@) en la contraseña.
Tenga en cuenta lo siguiente al configurar una tarea de sincronización:
-
Para la sincronización a nivel de base de datos (tanto en tiempo real como por lotes), puede seleccionar cualquier base de datos de la instancia de ApsaraDB RDS a la que tenga permiso de acceso.
-
En una tarea de sincronización por lotes, si utiliza varias bases de datos, debe agregar un origen de datos independiente para cada una.
Authentication Method
Seleccione No Authentication.
Configure Secondary Instance
Si el origen de datos tiene una instancia de solo lectura (instancia secundaria), habilite Configure Secondary Instance al configurar la tarea y seleccione el ID de la instancia secundaria. El uso de una instancia secundaria evita interferencias con la instancia principal y ayuda a proteger su rendimiento. Si existen varias instancias de solo lectura, se selecciona aleatoriamente una instancia disponible para las operaciones de lectura.
NotaEsta función solo es compatible con grupos de recursos serverless.
-
-
Compruebe la conectividad de red del resource group.
En las pestañas Data integration y Data Scheduling, haga clic en Test Network Connectivity para el resource group correspondiente. Un estado "Connected" indica que la prueba fue exitosa.
NotaUna tarea de sincronización solo puede usar un tipo de resource group.
Debe comprobar la conectividad de cada resource group con el origen de datos. La tarea de sincronización no se ejecutará si su resource group no logra conectarse.
Una vez superada la prueba de conectividad, haga clic en Complete Creation para agregar el origen de datos.
Paso 2: Crear y configurar una tarea de sincronización
Cree un nodo de sincronización llamado write_result para generar una tarea de sincronización. Esta tarea escribe los datos de la tabla result_table en su base de datos MySQL. Siga estos pasos:
-
Inicie sesión en la consola de DataWorks. En la región de destino, 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 Development.
-
Cree un nodo de sincronización por lotes.
Haga clic en el icono
y elija para crear un nodo de sincronización por lotes. -
Configure la conexión de red para la tarea de sincronización.
En la pestaña Configure Network Connections and Resource Groups de la página de edición del nodo, establezca Source en MaxCompute(ODPS) y MySQL en MySQL. Seleccione el resource group y compruebe su conectividad con el origen de datos. Para obtener más información sobre la configuración de red, consulte Network connectivity solutions.
Haga clic en Next step para ir a la página Configure tasks.
-
Configure la tarea de sincronización.
-
Configure el origen y el destino.
En la sección Source, seleccione MaxCompute(ODPS) como origen de datos e introduzca
result_tableen el campo Table. En la sección Destination, seleccione MySQL como origen de datos, introduzcaODPS_RESULTen el campo Table y seleccione insert into en Primary Key Conflict Policy. De este modo, la tabla de origen queda definida como result_table y la de destino como ODPS_RESULT. Puede configurar otros parámetros según sus necesidades comerciales. Para obtener más información, consulte Codeless UI configuration. -
Configure la asignación de campos.
Asigne los campos de origen a los campos de destino. La tarea utiliza esta asignación de campos para escribir los datos.
-
Configure el control de canales.
Parámetro
Descripción
Expected Maximum Concurrency
Especifica el número máximo de subprocesos simultáneos para leer del origen o escribir en el destino.
Nota-
Debido a las especificaciones de los recursos y otros factores, la concurrencia real durante la ejecución puede ser menor o igual al valor configurado. El resource group se cobra según la concurrencia real. Para obtener más información, consulte Billing details.
-
Los cargos por programación de tareas dependen de la cantidad de tareas de sincronización por lotes de una sola tabla, no de la concurrencia configurada.
Sync Rate
Controla la velocidad de sincronización.
-
Limitación: restringe la velocidad de sincronización para proteger la base de datos de origen de una carga de lectura excesiva. El valor mínimo de limitación es 1 MB/s.
-
Sin limitación: la tarea ofrece el máximo rendimiento de transferencia disponible, sujeto a la concurrencia configurada.
NotaLa métrica de tráfico la mide Data Integration y no representa el tráfico real de la NIC. El tráfico de la NIC suele ser de 1 a 2 veces el tráfico del canal, dependiendo de la serialización de transporte del sistema de almacenamiento de datos.
Policy for Dirty Data Records
Los datos erróneos son registros que no se escriben en el destino debido a excepciones como conflictos de tipo o infracciones de restricciones. La sincronización por lotes de una sola tabla permite definir una política de datos erróneos. Es posible establecer cuántos registros erróneos se toleran y cómo afectan a la tarea.
-
Si no se especifica ninguna configuración, los datos erróneos se permiten de forma predeterminada y no afectan la ejecución de la tarea.
-
Si el valor se establece en 0, no se permiten datos erróneos. Si se generan datos erróneos durante la sincronización, la tarea falla.
-
Si se permiten datos erróneos y se define un umbral:
-
Si los datos erróneos generados están dentro del umbral, la tarea de sincronización los ignora (no se escriben en el destino) y continúa ejecutándose con normalidad.
-
Si los datos erróneos generados superan el umbral, la tarea de sincronización falla.
-
ImportanteUn exceso de datos erróneos afecta la velocidad general de sincronización de la tarea.
Distributed Execution
Controla si se habilita el modo distribuido para la tarea.
-
Habilitado: divide la tarea en varios procesos para su ejecución simultánea. Esto elimina el cuello de botella de un solo proceso y mejora la eficiencia de la sincronización.
-
Deshabilitado: la tarea se ejecuta en un único proceso.
Se recomienda el modo distribuido cuando se requieren altos niveles de rendimiento. Además, aprovecha los recursos fragmentados de las máquinas y mejora la utilización de los recursos.
Importante-
La concurrencia debe ser de 8 o más para habilitar el procesamiento distribuido.
-
Habilitar el procesamiento distribuido consume más recursos. Si ocurre un error de falta de memoria (OOM) durante la ejecución, intente deshabilitar esta función.
Time Zone
Para la sincronización entre zonas horarias, configure la zona horaria de origen para aplicar la conversión correspondiente.
-
-
Configure las dependencias de la tarea.
Establezca el nodo insert_data como nodo ascendente del nodo write_result en el Workflow actual. En el lienzo del flujo de trabajo, conecte el nodo insert_data al nodo write_result para establecer una dependencia ascendente/descendente. Esto significa que write_result se ejecuta después de que insert_data finaliza.
-
Después de configurar la tarea, haga clic en el icono
de la barra de herramientas para guardar la tarea.
Paso 3: Confirmar y desplegar la tarea
Después de guardar la tarea de sincronización, regrese al flujo de trabajo. Haga clic en el icono
de la barra de herramientas para confirmar la tarea de sincronización en el sistema de programación. El sistema de programación ejecuta automáticamente la tarea según el calendario configurado, a partir del día siguiente.
Pasos siguientes
Este tutorial describió cómo crear una tarea de sincronización para exportar datos a distintos tipos de orígenes de datos. El siguiente tutorial explica cómo configurar las propiedades de programación y las dependencias de una tarea de sincronización. Para obtener más información, consulte Configure scheduling and dependencies.
Documentación relacionada
Para obtener más información sobre cómo configurar una tarea de sincronización por lotes, consulte Codeless UI configuration.