Todos los productos
Search
Centro de documentos

DataWorks:MariaDB

Última actualización: Sep 04, 2026

El origen de datos MariaDB conecta DataWorks con MariaDB para realizar una sincronización bidireccional sin conexión, lo que permite leer y escribir en bases de datos y vistas de MariaDB. Este tema describe las versiones compatibles, los tipos de campo, la configuración de cuentas y los parámetros de script para tareas de sincronización sin conexión.

Antes de empezar

Para conectar DataWorks a una base de datos MariaDB, complete los siguientes pasos en orden:

  1. Confirm your MariaDB version es compatible.

  2. Cree una cuenta dedicada para la sincronización y otorgue los permisos necesarios.

  3. Agregue el origen de datos MariaDB en DataWorks.

  4. Desarrolle una tarea de sincronización.

Versiones de MariaDB compatibles

Versiones compatibles: 5.5.x, 10.0.x, 10.1.x, 10.2.x y 10.3.x.

La sincronización sin conexión también admite la lectura desde vistas.

Tipos de campo compatibles

La siguiente tabla enumera los tipos de campo compatibles para MariaDB 10.3.x. Para otras versiones, consulte la documentación oficial de MariaDB.

Tipo de campo

Lectura sin conexión (MariaDB Reader)

Escritura sin conexión (MariaDB Writer)

TINYINT

Compatible

Compatible

SMALLINT

Compatible

Compatible

INTEGER

Compatible

Compatible

BIGINT

Compatible

Compatible

FLOAT

Compatible

Compatible

DOUBLE

Compatible

Compatible

DECIMAL/NUMERIC

Compatible

Compatible

REAL

No compatible

No compatible

VARCHAR

Compatible

Compatible

JSON

Compatible

Compatible

TEXT

Compatible

Compatible

MEDIUMTEXT

Compatible

Compatible

LONGTEXT

Compatible

Compatible

VARBINARY

Compatible

Compatible

BINARY

Compatible

Compatible

TINYBLOB

Compatible

Compatible

MEDIUMBLOB

Compatible

Compatible

LONGBLOB

Compatible

Compatible

ENUM

Compatible

Compatible

SET

Compatible

Compatible

BOOLEAN

Compatible

Compatible

BIT

Compatible

Compatible

DATE

Compatible

Compatible

DATETIME

Compatible

Compatible

TIMESTAMP

Compatible

Compatible

TIME

Compatible

Compatible

YEAR

Compatible

Compatible

LINESTRING

No compatible

No compatible

POLYGON

No compatible

No compatible

MULTIPOINT

No compatible

No compatible

MULTILINESTRING

No compatible

No compatible

MULTIPOLYGON

No compatible

No compatible

GEOMETRYCOLLECTION

No compatible

No compatible

Configuración de permisos de cuenta

Cree una cuenta dedicada de MariaDB para que DataWorks acceda al origen de datos.

  1. Ejecute la siguiente instrucción para comprobar la versión de MariaDB:

    SELECT VERSION();
  2. (Opcional) Cree una cuenta de sincronización. Consulte Crear un usuario de MariaDB.

  3. Otorgue los permisos necesarios según la dirección de sincronización:

    • Lectura sin conexión: La cuenta requiere el permiso SELECT sobre las tablas que se van a sincronizar.

    • Escritura sin conexión: La cuenta requiere los permisos INSERT, DELETE y UPDATE sobre las tablas que se van a sincronizar.

  4. Ejecute el siguiente comando para otorgar permisos. Reemplace sync_account con el nombre de su cuenta.

    -- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'password';
    GRANT SELECT, INSERT, DELETE, UPDATE ON *.* TO 'sync_account'@'%';

    Como alternativa, otorgue directamente el permiso SUPER.

Agregar un origen de datos

Agregue el origen de datos MariaDB en DataWorks antes de desarrollar una tarea de sincronización. Siga las instrucciones en Gestión de orígenes de datos. Las descripciones de los parámetros están disponibles en la consola de DataWorks al agregar el origen de datos.

Desarrollo de una tarea de sincronización de datos

Sincronización sin conexión para una sola tabla

Para configurar la tarea en el editor de código, consulte Configure a task in the code editor. Para ver todos los parámetros del script y ejemplos, consulte la sección Parámetros y ejemplos de script.

Parámetros y ejemplos de script

Todos los ejemplos utilizan el formato del editor de código con "version": "2.0". Configure el script según los requisitos de formato unificado descritos en Configure a task in the code editor.

Reader

Ejemplo de script

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "mariadb",
            "parameter": {
                "column": [
                    "id"
                ],
                "connection": [
                    {
                        "querySql": ["select a,b from join1 c join join2 d on c.id = d.id;"],
                        "datasource": "",
                        "table": [
                            "xxx"
                        ]
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parámetros de Reader

Parámetro

Descripción

Obligatorio

Predeterminado

datasource

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

Sí

Ninguna

table

Tabla desde la cual leer. Admite sintaxis de rango para tablas fragmentadas; por ejemplo, table_[0-99] lee desde table_0 hasta table_99. Para sufijos numéricos de longitud fija, utilice ["table_00[0-9]", "table_0[10-99]", "table_[100-999]"]. La tarea lee todas las tablas coincidentes y falla si una tabla o columna especificada no existe.

Sí

Ninguna

column

Columnas para sincronizar, como un arreglo JSON. El valor predeterminado incluye todas las columnas (["*"]). Admite poda de columnas, reordenamiento de columnas y valores constantes conforme a la sintaxis SQL de MariaDB. No debe estar en blanco.

Sí

Ninguna

splitPk

Columna utilizada para particionar los datos en lecturas simultáneas. Utilice la clave principal para lograr una distribución uniforme. Solo se admiten tipos enteros; los tipos no compatibles recurren a la sincronización por canal único. Déjelo en blanco para usar un solo canal.

No

Ninguna

where

Condición de filtro WHERE de SQL; por ejemplo, gmt_create>$bizdate para sincronización incremental diaria. Omita el parámetro o déjelo en blanco para sincronizar todos los datos. Las cláusulas LIMIT no son compatibles.

No

Ninguna

querySql

Consulta SQL personalizada que anula table, column, where y splitPk. Úsela para uniones de varias tablas; por ejemplo, select a,b from table_a join table_b on table_a.id = table_b.id. El parámetro datasource se sigue utilizando para las credenciales. Este parámetro distingue entre mayúsculas y minúsculas (querySql, no querysql) y no es compatible con la interfaz visual sin código.

No

Ninguna

Writer

Ejemplo de script

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "mariadb",
            "parameter": {
                "postSql": [],
                "datasource": "",
                "column": [
                    "id",
                    "value"
                ],
                "writeMode": "insert",
                "batchSize": 1024,
                "table": "",
                "preSql": [
                    "delete from XXX;"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parámetros de Writer

Parámetro

Descripción

Obligatorio

Predeterminado

datasource

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

Sí

Ninguna

table

Tabla de destino donde se escribirán los datos.

Sí

Ninguna

column

Columnas de destino para la escritura, como un arreglo JSON; por ejemplo, ["id", "name", "age"]. Para escribir en todas las columnas en orden, utilice ["*"].

Sí

Ninguna

writeMode

Modo de escritura. Se admiten tres modos: insert (INSERT INTO: los conflictos se tratan como datos erróneos), update (ON DUPLICATE KEY UPDATE: los conflictos actualizan los campos especificados en updateColumn) y replace (REPLACE INTO: los conflictos eliminan la fila existente e insertan la nueva).

No

insert into

updateColumn

Columnas que se actualizarán cuando ocurra un conflicto de clave principal o índice único. Este parámetro se utiliza cuando writeMode está configurado como update. Separe las columnas con comas; por ejemplo, ["name", "age"].

No

Ninguna

preSql

Instrucción SQL que se ejecuta antes de la tarea de sincronización. La interfaz visual sin código admite una instrucción; el editor de código admite varias. Ejemplo: truncate table tablename. No se admiten transacciones para múltiples instrucciones.

No

Ninguna

postSql

Instrucción SQL que se ejecuta después de la tarea de sincronización. La interfaz visual sin código admite una instrucción; el editor de código admite varias. Ejemplo: ALTER TABLE tablename ADD colname TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. No se admiten transacciones para múltiples instrucciones.

No

Ninguna

batchSize

Número de registros enviados por lote. Valores más altos reducen los ciclos de red y mejoran el throughput, pero valores excesivamente grandes pueden provocar errores de memoria insuficiente (OOM).

No

256