Todos os produtos
Search
Central de documentação

DataWorks:KingbaseES

Última atualização: Jun 27, 2026

A fonte de dados KingbaseES permite a sincronização bidirecional de dados entre o KingbaseES e o DataWorks Data Integration. Use-a para ler dados do KingbaseES em seu pipeline ou gravar dados processados de volta no KingbaseES.

Limites

Tipos de campo compatíveis

A tabela a seguir lista os tipos de dados compatíveis com o KingbaseES Reader. Tipos não listados não são suportados.

Categoria

Tipos de dados

Observações

Inteiro

INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT

tinyint(1) é tratado como inteiro, não como booleano

Ponto flutuante

FLOAT, DOUBLE, DECIMAL

String

VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT

Data e hora

DATE, DATETIME, TIMESTAMP, TIME, YEAR

Booleano

BIT, BOOL

Binário

TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, VARBINARY

Adicionar uma fonte de dados

Antes de desenvolver uma tarefa de sincronização, adicione a fonte de dados KingbaseES no DataWorks. Para obter instruções, consulte Gerenciamento de fontes de dados. As descrições dos parâmetros estão disponíveis no console do DataWorks ao adicionar a fonte de dados.

Desenvolver uma tarefa de sincronização

Configure uma tarefa de sincronização offline para uma única tabela

Use um dos métodos a seguir para configurar uma tarefa de sincronização offline:

Para ver todos os parâmetros e um script de exemplo para o editor de código, consulte Apêndice: Exemplo de script e descrições de parâmetros.

Apêndice: Exemplo de script e descrições de parâmetros

Para configurar uma tarefa de sincronização em lote com o editor de código, defina os parâmetros necessários no script seguindo o formato unificado. Para mais informações, consulte Configurar uma tarefa no editor de código.

Exemplo de script do Reader

Banco de dados único e tabela ú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"
            }
        ]
    }
}

Bancos de dados e tabelas fragmentados

Ao usar tabelas fragmentadas, todas as tabelas KingbaseES selecionadas devem ter o mesmo schema.
{
    "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 do Reader

Parâmetro

Descrição

Obrigatório

Padrão

username

Nome de usuário para conexão com o KingbaseES.

Não

Nenhum

password

Senha para conexão com o KingbaseES.

Não

Nenhum

column

Campos a sincronizar. Use * para sincronizar todas as colunas.

Não

Nenhum

table

Nome da tabela a sincronizar. Use o formato de array mesmo para uma única tabela: ["tablename"].

Não

Nenhum

jdbcUrl

URL JDBC (Java Database Connectivity) para conexão com o KingbaseES. Exemplo: jdbc:kingbase8://127.0.0.1:30215?currentschema=TEST.

Não

Nenhum

querySql

Consulta SQL personalizada para filtrar dados. Quando especificada, o Reader ignora table, column e where e usa essa consulta diretamente.

Não

Nenhum

where

Condição de filtro aplicada à tabela. Ignorada quando querySql é especificado.

Não

Nenhum

splitPk

Campo numérico inteiro na tabela KingbaseES usado como chave de divisão para permitir sincronização de alta concorrência. Deixe em branco se esse campo não existir.

Não

Nenhum

encoding

Formato de codificação dos dados.

Não

UTF-8

Exemplo de script do Writer

{
    "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 do Writer

Parâmetro

Descrição

Obrigatório

Padrão

datasource

Nome da fonte de dados. Deve corresponder ao nome da fonte de dados adicionada no DataWorks.

Sim

Nenhum

table

Nome da tabela de destino.

Sim

Nenhum

column

Campos da tabela de destino onde os dados serão gravados. Separe vários campos por vírgulas. Exemplo: ["id", "name", "age"]. Para gravar em todas as colunas em ordem, use ["*"]. Se um nome de campo contiver uma barra (/), escape-o: \"/field/name\".

Sim

Nenhum

preSql

Instrução SQL executada antes do início da tarefa de sincronização. Use para preparar a tabela de destino — por exemplo: truncate table tablename. A interface sem código suporta uma instrução; o editor de código suporta várias. Várias instruções não oferecem atomicidade transacional.

Não

Nenhum

postSql

Instrução SQL executada após a conclusão da tarefa de sincronização. Por exemplo: alter table tablename add colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. A interface sem código suporta uma instrução; o editor de código suporta várias.

Não

Nenhum

batchSize

Quantidade de registros enviados em um único lote. Valores maiores reduzem idas e vindas na rede e melhoram o throughput, mas valores excessivos podem causar erros de falta de memória (OOM).

Não

1024