Todos los productos
Search
Centro de documentos

DataWorks:HybridDB for MySQL

Última actualización: Sep 04, 2026

DataWorks ofrece HybridDB for MySQL Reader y HybridDB for MySQL Writer para sincronizar datos entre HybridDB for MySQL y otros orígenes de datos.

Límites

  • HybridDB for MySQL Reader puede leer tablas y vistas. Al leer una tabla, usted puede seleccionar todas las columnas o un subconjunto de ellas, reordenarlas, agregar campos constantes y utilizar funciones de HybridDB for MySQL como now().

  • Las vistas son compatibles con la sincronización por lotes.

Mapeo de tipos de datos

HybridDB for MySQL Reader y Writer mapean los tipos de datos de la siguiente manera.

Categoría

Tipos de datos de HybridDB for MySQL

Notas

Entero

INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT, YEAR

TINYINT(1) se trata como un tipo de dato entero

Punto flotante

FLOAT, DOUBLE, DECIMAL

Cadena

VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT

Fecha y hora

DATE, DATETIME, TIMESTAMP, TIME

Booleano

BOOL

Binario

TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, VARBINARY

Los tipos de datos no listados anteriormente no son compatibles.

Agregar un origen de datos

Agregue el origen de datos HybridDB for MySQL a DataWorks antes de crear una tarea de sincronización. Para obtener instrucciones, consulte Gestión de orígenes de datos

. Las descripciones de los parámetros están disponibles en la consola de DataWorks cuando agrega el origen de datos.

Desarrollar una tarea de sincronización de datos

Sincronizar datos de una sola tabla

Utilice cualquiera de los siguientes métodos:

Para consultar la lista completa de parámetros y el código de ejemplo del editor de código, vea Appendix: Code and parameters.

Sincronizar todos los datos de una base de datos

Consulte Configure a real-time full-database synchronization task.

Apéndice: Código y parámetros

HybridDB for MySQL Reader

Código de ejemplo

{
    "type": "job",
    "steps": [
        {
            "parameter": {
                "datasource": "px_aliyun_hymysql",
                "column": [
                    "id",
                    "name",
                    "sex",
                    "salary",
                    "age",
                    "pt"
                ],
                "where": "id=10001",
                "splitPk": "id",
                "table": "person"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "parameter": {}
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 7,
            "throttle": true,
            "mbps": 1
        }
    }
}

Parámetros

Parámetro

Descripción

Obligatorio

Predeterminado

datasource

Nombre del origen de datos. Debe coincidir con el nombre configurado en DataWorks.

Sí

Ninguna

table

Nombre de la tabla de origen. Cada tarea de sincronización lee desde una sola tabla.

Sí

Ninguna

column

Columnas que se van a leer, especificadas como un arreglo JSON. Use ["*"] para leer todas las columnas. Admite reordenamiento, valores constantes y expresiones; por ejemplo, ["id", "table", "1", "'mingya.wmy'", "'null'", "to_char(a+1)", "2.3", "true"].

Sí

Ninguna

splitPk

Columna utilizada para fragmentar los datos en lecturas paralelas. Establézcala en una columna de clave primaria para lograr la distribución más uniforme. Solo se admiten columnas de tipo entero; las columnas de cadena, punto flotante y fecha se ignoran, y el lector recurre a un solo hilo.

No

Ninguna

where

Cláusula WHERE para filtrar filas; por ejemplo, gmt_create > $bizdate para leer solo los datos de hoy. Déjelo en blanco para leer todas las filas. No utilice cláusulas LIMIT.

No

Ninguna

querySql

SQL personalizada para filtrado avanzado o uniones de varias tablas. Anula table, column, where y splitPk cuando se configura.

No

Ninguna

singleOrMulti

Obligatorio para tablas fragmentadas. Establézcalo en multi.

Sí (solo tablas fragmentadas)

multi

Importante

Al configurar una tabla fragmentada directamente en el editor de código (sin cambiar desde la interfaz sin código), "singleOrMulti": "multi" no se genera automáticamente. Agréguelo manualmente. Sin este parámetro, el lector solo leerá datos de la primera fragmentación.

Cuando querySql está configurado, el lector ignora table , column , where y splitPk . Las credenciales de conexión aún se leen desde datasource .

HybridDB for MySQL Writer

Código de ejemplo

{
    "type": "job",
    "steps": [
        {
            "parameter": {}
        },
        {
            "parameter": {
                "postSql": [],
                "datasource": "px_aliyun_hy***",
                "column": [
                    "id",
                    "name",
                    "sex",
                    "salary",
                    "age",
                    "pt"
                ],
                "writeMode": "insert",
                "batchSize": 256,
                "encoding": "UTF-8",
                "table": "person_copy",
                "preSql": []
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 7,
            "throttle": true,
            "mbps": 1
        }
    }
}

Modos de escritura

Modo

Comportamiento cuando no hay conflicto

Comportamiento cuando ocurre un conflicto de clave primaria o índice único

insert (predeterminado)

Escribe los datos directamente

No puede escribir en filas conflictivas; los datos en conflicto se tratan como datos erróneos

replace

Escribe los datos directamente

Actualiza los campos especificados en las filas conflictivas

Parámetros

Parámetro

Descripción

Obligatorio

Predeterminado

datasource

Nombre del origen de datos. Debe coincidir con el nombre configurado en DataWorks.

Sí

Ninguna

table

Nombre de la tabla de destino.

Sí

Ninguna

writeMode

Modo de escritura. Consulte Modos de escritura arriba.

No

insert

column

Columnas que se van a escribir, especificadas como un arreglo JSON; por ejemplo, ["id", "name", "age"]. Use ["*"] para escribir en todas las columnas.

Sí

Ninguna

preSql

Sentencia SQL que se ejecuta antes de la tarea de sincronización; por ejemplo, para eliminar datos obsoletos. La interfaz sin código admite una sola sentencia; el editor de código admite varias.

No

Ninguna

postSql

Sentencia SQL que se ejecuta después de la tarea de sincronización; por ejemplo, para agregar una marca de tiempo. La interfaz sin código admite una sola sentencia; el editor de código admite varias.

No

Ninguna

batchSize

Número de registros que se escriben por lote. Ajústelo según su carga de trabajo. Un valor demasiado grande puede provocar errores de memoria insuficiente (OOM).

No

1,024