El origen de datos de AnalyticDB for MySQL 2.0 permite la sincronización bidireccional de datos entre AnalyticDB for MySQL 2.0 y otros sistemas de datos en DataWorks. Úselo para leer o escribir datos en AnalyticDB for MySQL 2.0 como parte de una tarea de sincronización sin conexión.
Limitaciones
La sincronización sin conexión admite la lectura de datos desde vistas.
AnalyticDB for MySQL 2.0 Reader no es compatible con tipos de valores múltiples. Si los datos de origen contienen este tipo de valores, la tarea de sincronización falla.
Tipos de campo compatibles
Lectura sin conexión
A continuación se muestra una tabla que indica las asignaciones de tipos de datos para AnalyticDB for MySQL 2.0 Reader. Los datos fluyen desde AnalyticDB for MySQL 2.0 hacia MaxCompute a través de DataX.
|
AnalyticDB for MySQL 2.0 type |
DataX type |
MaxCompute type |
Notes |
|
BIGINT |
LONG |
BIGINT |
|
|
TINYINT |
LONG |
INT |
|
|
SMALLINT |
LONG |
INT |
|
|
INT |
LONG |
INT |
|
|
FLOAT |
STRING |
DOUBLE |
AnalyticDB for MySQL 2.0 transmite FLOAT como una cadena. MaxCompute almacena el valor como DOUBLE. |
|
DOUBLE |
STRING |
DOUBLE |
AnalyticDB for MySQL 2.0 transmite DOUBLE como una cadena. MaxCompute almacena el valor como DOUBLE. |
|
VARCHAR |
STRING |
STRING |
|
|
DATE |
DATE |
DATETIME |
|
|
TIME |
DATE |
DATETIME |
|
|
TIMESTAMP |
DATE |
DATETIME |
Escritura sin conexión
A continuación se muestra una tabla que indica las asignaciones de tipos de datos para AnalyticDB for MySQL 2.0 Writer.
|
DataWorks type |
AnalyticDB for MySQL 2.0 data type |
|
Entero |
INT, TINYINT, SMALLINT, BIGINT |
|
Punto flotante |
FLOAT, DOUBLE |
|
Cadena |
VARCHAR |
|
Fecha y hora |
DATE, TIMESTAMP |
|
Booleano |
BOOLEAN |
Agregar un origen de datos
Antes de desarrollar una tarea de sincronización en DataWorks, agregue el origen de datos obligatorio según las instrucciones de Gestión de orígenes de datos. La descripción de los parámetros está disponible en la consola de DataWorks cuando agrega un origen de datos.
Desarrollar una tarea de sincronización de datos
Configurar una tarea de sincronización sin conexión para una sola tabla
Utilice cualquiera de los métodos siguientes para configurar la tarea:
Interfaz sin código: consulte Configure a task in the codeless UI.
Editor de código: consulte Configure a task in the code editor. Para ver la referencia completa de parámetros y ejemplos de script, consulte Appendix: Script examples and parameter descriptions.
Configurar una tarea de sincronización de lectura sin conexión para una base de datos completa
Apéndice: ejemplos de script y descripciones de parámetros
Reader
Ejemplo de script
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ads",
"parameter": {
"datasource": "ads_demo",
"table": "th_test",
"column": [
"id",
"testtinyint",
"testbigint",
"testdate",
"testtime",
"testtimestamp",
"testvarchar",
"testdouble",
"testfloat"
],
"mode": "ODPS",
"odps": {
"accessId": "<yourAccessKeyId>",
"accessKey": "<yourAccessKeySecret>",
"account": "<yourAccount>",
"odpsServer": "http://service.cn-shanghai-vpc.maxcompute.aliyun-inc.com/api",
"tunnelServer": "http://dt.cn-shanghai-vpc.maxcompute.aliyun-inc.com",
"accountType": "aliyun",
"project": "odps_test"
}
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 2,
"throttle": true,
"mbps": "12"
}
}
}
Parámetros de Reader
|
Parameter |
Description |
Required |
Default value |
|
|
El nombre de la tabla desde la cual se exportan los datos. |
Sí |
Ninguna |
|
|
Las columnas que se van a exportar. Si no se especifican, se exportan todas. |
No |
|
|
|
El número máximo de registros que se exportan. |
No |
Ninguna |
|
|
Una cláusula WHERE para filtrar los datos exportados. La cadena se anexa directamente a la consulta. Ejemplo: |
No |
Ninguna |
|
|
El modo de exportación. Consulte Elegir un modo de exportación. |
No |
|
|
|
El AccessKey ID de la cuenta de Alibaba Cloud que AnalyticDB for MySQL 2.0 utiliza para acceder a ODPS (MaxCompute). La cuenta debe tener los permisos Describe, Create, Select, Alter, Update y Drop. Es obligatorio cuando |
Condicional |
Ninguna |
|
|
El AccessKey secret de la cuenta de Alibaba Cloud que AnalyticDB for MySQL 2.0 utiliza para acceder a ODPS. La cuenta debe tener los permisos Describe, Create, Select, Alter, Update y Drop. Es obligatorio cuando |
Condicional |
Ninguna |
|
|
El endpoint de la API de ODPS. Es obligatorio cuando |
Condicional |
Ninguna |
|
|
El endpoint de ODPS Tunnel. Es obligatorio cuando |
Condicional |
Ninguna |
|
|
El nombre del proyecto de ODPS. Es obligatorio cuando |
Condicional |
Ninguna |
|
|
El tipo de cuenta utilizada para acceder a ODPS. Solo surte efecto cuando |
No |
|
Elegir un modo de exportación
El parámetro mode controla cómo Reader exporta los datos desde AnalyticDB for MySQL 2.0.
|
Mode |
How it works |
When to use |
|
|
Utiliza la cláusula SQL LIMIT para la exportación paginada. No requiere credenciales adicionales. |
Predeterminado. Recomendado para la mayoría de los casos. |
|
|
Utiliza ODPS DUMP para exportar los datos directamente. Requiere credenciales de acceso a ODPS (parámetros |
Más indicado para exportaciones de gran volumen donde se prefiere el rendimiento de ODPS DUMP. |
Writer
Ejemplo de script
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "ads",
"parameter": {
"datasource": "",
"table": "",
"partition": "",
"column": [
"id"
],
"writeMode": "insert",
"batchSize": "256",
"overWrite": "true",
"options.ignoreEmptySource": true
},
"name": "Writer",
"category": "writer"
}
],
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": true,
"concurrent": 1,
"mbps": "12"
}
}
}
Parámetros de Writer
|
Parameter |
Description |
Required |
Default value |
|
|
La información de conexión de la instancia de AnalyticDB for MySQL 2.0. Formato: |
Sí |
Ninguna |
|
|
El nombre de la base de datos de AnalyticDB for MySQL 2.0. |
Sí |
Ninguna |
|
|
El AccessKey ID de la instancia de AnalyticDB for MySQL 2.0. |
Sí |
Ninguna |
|
|
El AccessKey secret de la instancia de AnalyticDB for MySQL 2.0. |
Sí |
Ninguna |
|
|
El nombre del origen de datos agregado en DataWorks. Debe coincidir exactamente con dicho nombre. |
Sí |
Ninguna |
|
|
El nombre de la tabla de destino. |
Sí |
Ninguna |
|
|
El modo de escritura. Consulte Elegir un modo de escritura. |
Sí |
Ninguna |
|
|
Los campos que se van a escribir. Establezca el valor en |
Sí |
Ninguna |
|
|
El nombre de la partición en la tabla de destino. Es obligatorio si la tabla de destino es una tabla estándar (particionada). |
No |
Ninguna |
|
|
Una cadena de conexión personalizada que se anexa a la URL de JDBC (Java Database Connectivity) ( |
No |
Ninguna |
|
|
El número de registros que se escriben por lote. Es obligatorio cuando |
Condicional |
Ninguna |
|
|
El tamaño del búfer de recopilación de datos de DataX. Los datos de origen se ordenan en este búfer según las columnas de clave de partición de la tabla de destino antes de enviarse por lotes. Para obtener el mejor rendimiento, establezca |
Condicional |
Deshabilitado |
|
|
Indica si se sobrescriben los datos existentes en la tabla de destino. El valor |
No |
|
|
|
Indica si se ignoran los errores cuando los datos de origen están vacíos. Si el valor es |
No |
|
Elegir un modo de escritura
El parámetro writeMode controla cómo Writer importa los datos a AnalyticDB for MySQL 2.0.
|
Mode |
How it works |
When to use |
|
|
Inserta los registros fila por fila. Si ocurre un conflicto de clave primaria, el registro nuevo sobrescribe al existente. Requiere |
Diseñado para escrituras incrementales o de tipo upsert. |
|
|
Importa los datos mediante un sistema de terceros. El parámetro |
Recomendado para escenarios de tablas completas o cargas masivas. |