Todos los productos
Search
Centro de documentos

DataWorks:KingbaseES

Última actualización: Sep 04, 2026

El origen de datos KingbaseES permite la sincronización bidireccional de datos entre KingbaseES y DataWorks Data Integration. Úselo para leer datos de KingbaseES hacia su pipeline o para escribir datos procesados de vuelta en KingbaseES.

Límites

Tipos de campo compatibles

La siguiente tabla enumera los tipos de datos que admite KingbaseES Reader. Los tipos de campo no listados no son compatibles.

Categoría

Tipos de datos

Notas

Entero

INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT

tinyint(1) se trata como un entero, no como un booleano

Punto flotante

FLOAT, DOUBLE, DECIMAL

Cadena

VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT

Fecha y hora

DATE, DATETIME, TIMESTAMP, TIME, YEAR

Booleano

BIT, BOOL

Binario

TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, VARBINARY

Agregar un origen de datos

Antes de desarrollar una tarea de sincronización, agregue el origen de datos KingbaseES en DataWorks. 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

Configurar una tarea de sincronización sin conexión para una sola tabla

Utilice cualquiera de los siguientes métodos para configurar una tarea de sincronización sin conexión:

Para consultar todos los parámetros y un script de ejemplo para el editor de código, consulte Appendix: Script demo and parameter descriptions.

Apéndice: Script de demostración y descripciones de parámetros

Para configurar una tarea de sincronización por lotes mediante el editor de código, establezca los parámetros obligatorios en el script siguiendo el formato unificado de scripts. Para más información, consulte Configure a task in the code editor.

Script de demostración del lector

Base de datos única y tabla única

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "kingbasees",
            "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"
            }
        ]
    }
}

Bases de datos y tablas fragmentadas

Al utilizar tablas fragmentadas, todas las tablas KingbaseES seleccionadas deben tener el mismo esquema.
{
    "type": "job",
    "version": "1.0",
    "configuration": {
        "reader": {
            "plugin": "kingbasees",
            "parameter": {
                "connection": [
                    {
                        "table": ["tbl1", "tbl2", "tbl3"],
                        "datasource": "datasourceName1"
                    },
                    {
                        "table": ["tbl4", "tbl5", "tbl6"],
                        "datasource": "datasourceName2"
                    }
                ],
                "singleOrMulti": "multi",
                "splitPk": "db_id",
                "column": ["id", "name", "age"],
                "where": "1 < id and id < 100"
            }
        },
        "writer": {}
    }
}

Parámetros del lector

Parámetro

Descripción

Obligatorio

Valor predeterminado

username

El nombre de usuario para conectarse a KingbaseES.

No

Ninguna

password

La contraseña para conectarse a KingbaseES.

No

Ninguna

column

Los campos que se van a sincronizar. Utilice * para sincronizar todas las columnas.

No

Ninguna

table

El nombre de la tabla que se va a sincronizar. Utilice el formato de matriz incluso para una sola tabla: ["tablename"].

No

Ninguna

jdbcUrl

La URL de Java Database Connectivity (JDBC) para conectarse a KingbaseES. Ejemplo: jdbc:kingbase8://127.0.0.1:30215?currentschema=TEST.

No

Ninguna

querySql

Una consulta SQL personalizada que se usa para filtrar datos. Cuando se especifica, el lector ignora table, column y where, y utiliza esta consulta directamente.

No

Ninguna

where

Una condición de filtro aplicada a la tabla. Se ignora cuando se especifica querySql.

No

Ninguna

splitPk

Un campo numérico entero en la tabla KingbaseES que se utiliza como clave de división para habilitar la sincronización de alta concurrencia. Déjelo en blanco si no existe dicho campo.

No

Ninguna

encoding

El formato de codificación de los datos.

No

UTF-8

Script de demostración del escritor

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "kingbasees",
            "parameter": {
                "postSql": [],
                "datasource": "",
                "column": ["id", "value"],
                "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 del escritor

Parámetro

Descripción

Obligatorio

Valor predeterminado

datasource

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

Sí

Ninguna

table

El nombre de la tabla de destino.

Sí

Ninguna

column

Los campos de la tabla de destino donde se escribirán los datos. Separe varios campos con comas. Ejemplo: ["id", "name", "age"]. Para escribir en todas las columnas en orden, utilice ["*"]. Si el nombre de un campo contiene una barra diagonal (/), escápelo: \"/field/name\".

Sí

Ninguna

preSql

Sentencia SQL que se ejecuta antes de que inicie la tarea de sincronización. Utilícela para preparar la tabla de destino; por ejemplo: truncate table tablename. La interfaz sin código admite una sentencia; el editor de código admite varias. Varias sentencias no admiten atomicidad transaccional.

No

Ninguna

postSql

Sentencia SQL que se ejecuta después de que finaliza la tarea de sincronización. Por ejemplo: alter table tablename add colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. La interfaz sin código admite una sentencia; el editor de código admite varias.

No

Ninguna

batchSize

El número de registros que se envían en un solo lote. Valores mayores reducen los ciclos de red y mejoran el rendimiento, pero valores excesivamente grandes pueden provocar errores de falta de memoria (OOM).

No

1024