AnalyticDB for MySQL 3.0 data source le permite leer y escribir datos en AnalyticDB for MySQL 3.0 mediante un canal bidireccional. Este tema describe las capacidades de sincronización de datos de AnalyticDB for MySQL 3.0 compatibles con DataWorks.
Límites
No es posible configurar ni ejecutar tareas de sincronización para un origen de datos ADB Lakehouse Edition en un resource group público.
Si una instancia configurada en un origen de datos ADB cambia de Data Warehouse Edition a Lakehouse Edition, las tareas de sincronización que usen este origen de datos en un resource group público fallarán. Antes de cambiar de edición, compruebe si alguna tarea se ejecuta en un resource group público y muévala a un Serverless resource group (recommended) o a un resource group exclusivo para Data Integration.
La sincronización por lotes admite la lectura de vistas (tablas VIEW).
Tipos de campo compatibles
Lectura por lotes
A continuación se muestran las asignaciones de tipos de AnalyticDB for MySQL 3.0 para AnalyticDB for MySQL 3.0 Reader.
|
Categoría de tipo |
Tipo de AnalyticDB for MySQL 3.0 |
|
Entero |
INT, INTEGER, TINYINT, SMALLINT y BIGINT |
|
Punto flotante |
FLOAT, DOUBLE y DECIMAL |
|
Cadena |
VARCHAR |
|
Fecha y hora |
DATE, DATETIME, TIMESTAMP y TIME |
|
Booleano |
BOOLEAN |
Escritura por lotes
A continuación se muestran las asignaciones de tipos de AnalyticDB for MySQL 3.0 para AnalyticDB for MySQL 3.0 Writer.
|
Tipo |
Tipo de datos de AnalyticDB for MySQL 3.0 |
|
Entero |
INT, INTEGER, TINYINT, SMALLINT y BIGINT |
|
Punto flotante |
FLOAT, DOUBLE y DECIMAL |
|
Cadena |
VARCHAR |
|
Fecha y hora |
DATE, DATETIME, TIMESTAMP y TIME |
|
Booleano |
BOOLEAN |
Agregar un origen de datos
Antes de desarrollar una tarea de sincronización en DataWorks, debe agregar el origen de datos obligatorio a DataWorks. Siga las instrucciones de Data source configuration. Consulte las descripciones de los parámetros en la consola de DataWorks para comprender el significado de cada parámetro al agregar un origen de datos.
Desarrollo de tareas de sincronización de datos
Para conocer el punto de entrada y el procedimiento de configuración de una tarea de sincronización, consulte las siguientes guías de configuración.
Configurar una tarea de sincronización por lotes de tabla única
Para consultar el procedimiento, vea Codeless UI configuration y Script mode configuration.
Para revisar todos los parámetros del modo script y los scripts de ejemplo, vea Appendix: Sample scripts and parameters.
Configurar una tarea de sincronización en tiempo real de tabla única
Para consultar el procedimiento, vea Single-table real-time synchronization task configuration.
Configurar una tarea de sincronización por lotes de base de datos completa
Para consultar el procedimiento, vea Batch database synchronization configuration.
Configurar una tarea de sincronización en tiempo real de base de datos completa
Para consultar el procedimiento, vea Configure real-time full-database synchronization tasks.
Apéndice: scripts de ejemplo y parámetros
Configurar una tarea de sincronización por lotes con el editor de código
Si desea configurar una tarea de sincronización por lotes con el editor de código, debe establecer los parámetros correspondientes en el script según los requisitos unificados de formato de script. Para obtener más información, consulte Script mode configuration. La siguiente información describe los parámetros que debe configurar para los orígenes de datos cuando utilice el editor de código.
Script de ejemplo de Reader
{ "type": "job", "steps": [ { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "column": [ //Column names. "id", "value", "table" ], "connection": [ { "datasource": "xxx", //Data source. "table": [ //Table name. "xxx" ] } ], "where": "", //Filter condition. "splitPk": "", //Split key. "encoding": "UTF-8" //Encoding format. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Maximum number of error records during synchronization. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":1 //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }
Parámetros del script de Reader
Parámetro | Descripción | Obligatorio | Valor predeterminado |
datasource | Nombre del origen de datos. En el modo script, puede agregar un origen de datos. El valor debe coincidir con el nombre del origen de datos agregado. | Sí | Ninguna |
table | Tabla que se va a sincronizar. | Sí | Ninguna |
column | Columnas que se van a sincronizar desde la tabla configurada. Describa los campos en un arreglo JSON. De forma predeterminada, se seleccionan todas las columnas; por ejemplo, [ * ].
| Sí | Ninguna |
splitPk | Cuando AnalyticDB for MySQL 3.0 Reader extrae datos, especificar splitPk indica que desea usar el campo representado por splitPk para dividir los datos. La sincronización inicia tareas simultáneas para mejorar la eficiencia.
| No | Ninguna |
where | Condición de filtro. En muchos escenarios de negocio, se sincronizan los datos del día actual. Establezca la condición where como
| No | Ninguna |
Script de ejemplo de Writer
{ "type": "job", "steps": [ { "stepType": "stream", "parameter": {}, "name": "Reader", "category": "reader" }, { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "postSql": [], //Statements to run after import. "tableType": null, //Reserved field, empty by default. "datasource": "hangzhou_ads", //Data source name. "column": [ //Fields to synchronize. "id", "value" ], "guid": null, "writeMode": "insert", //Write mode. See the writeMode parameter description. "batchSize": 2048, //Batch size. See the batchSize parameter description. "encoding": "UTF-8", //Encoding format. "table": "t5", //Name of the table to write to. "preSql": [] //Statements to run before import. }, "name": "Writer", "category": "writer" } ], "version": "2.0", //Configuration file format version. "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Number of error records. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":2, //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }
Parámetros del script de Writer
Parámetro | Descripción | Obligatorio | Valor predeterminado |
datasource | Nombre del origen de datos. En el modo script, puede agregar un origen de datos. El valor debe coincidir con el nombre del origen de datos agregado. | Sí | Ninguna |
table | Nombre de la tabla que se va a sincronizar. | Sí | Ninguna |
writeMode | Modo de escritura. Elija insert, replace o update.
| No | insert |
column | Campos que se van a escribir en la tabla de destino, separados por comas; por ejemplo, Nota Si el nombre de un campo contiene select, encierre el nombre del campo entre acentos graves. Por ejemplo, escriba item_select_no como | Sí | Ninguna |
preSql | Instrucciones SQL que se deben ejecutar antes de la tarea de sincronización. El modo asistente solo permite una instrucción SQL; el modo script admite varias instrucciones, como limpiar datos antiguos. Nota No se admiten transacciones para varias instrucciones SQL. | No | Ninguna |
postSql | Instrucciones SQL que se deben ejecutar después de la tarea de sincronización. El modo asistente solo permite una instrucción SQL; el modo script admite varias instrucciones, como agregar una marca de tiempo. Nota No se admiten transacciones para varias instrucciones SQL. | No | Ninguna |
batchSize | Número de registros enviados en un solo lote. Esto reduce considerablemente las interacciones de red entre el sistema de sincronización de datos y MySQL, además de mejorar el rendimiento general. Un valor demasiado grande puede provocar un error de memoria insuficiente (OOM) en el proceso de sincronización. | No | 1,024 |