Todos os produtos
Search
Central de documentação

DataWorks:PolarDB-X 2.0

Última atualização: Jun 27, 2026

O DataWorks Data Integration oferece suporte ao PolarDB-X 2.0 como source e destino para tarefas de sincronização offline (em lote). Esta página aborda os recursos compatíveis, os pré-requisitos e a referência de parâmetros de script do PolarDB-X 2.0 Reader e Writer.

Visão geral da configuração

Para sincronizar dados entre o PolarDB-X 2.0 e outros sistemas, conclua as etapas a seguir:

  1. Confirme que você está usando o PolarDB-X 2.0 (e não o PolarDB-X 1.0).

  2. Conceda as permissões necessárias à conta de banco de dados que o DataWorks utilizará.

  3. Adicione a fonte de dados PolarDB-X 2.0 no DataWorks.

  4. Configure e execute uma tarefa de sincronização offline.

Versões compatíveis

Leitura e gravação offline: PolarDB-X 2.0. A sincronização offline também permite ler dados de views.

Limites

As fontes de dados PolarDB-X 2.0 são compatíveis com grupos de recursos serverless (recomendado) e grupos de recursos exclusivos para Data Integration.

Tipos de campo compatíveis

Para obter a lista completa de tipos de campo do PolarDB-X 2.0, consulte Tipos de dados. A tabela abaixo apresenta os principais tipos de campo e seu status de compatibilidade.

Tipo de campo

Leitura offline (PolarDB-X 2.0 Reader)

Gravação offline (PolarDB-X 2.0 Writer)

TINYINT

Compatível

Compatível

SMALLINT

Compatível

Compatível

INTEGER

Compatível

Compatível

BIGINT

Compatível

Compatível

FLOAT

Compatível

Compatível

DOUBLE

Compatível

Compatível

DECIMAL/NUMERIC

Compatível

Compatível

REAL

Não compatível

Não compatível

VARCHAR

Compatível

Compatível

JSON

Compatível

Compatível

TEXT

Compatível

Compatível

MEDIUMTEXT

Compatível

Compatível

LONGTEXT

Compatível

Compatível

VARBINARY

Compatível

Compatível

BINARY

Compatível

Compatível

TINYBLOB

Compatível

Compatível

MEDIUMBLOB

Compatível

Compatível

LONGBLOB

Compatível

Compatível

ENUM

Compatível

Compatível

SET

Compatível

Compatível

BOOLEAN

Compatível

Compatível

BIT

Compatível

Compatível

DATE

Compatível

Compatível

DATETIME

Compatível

Compatível

TIMESTAMP

Compatível

Compatível

TIME

Compatível

Compatível

YEAR

Compatível

Compatível

LINESTRING

Não compatível

Não compatível

POLYGON

Não compatível

Não compatível

MULTIPOINT

Não compatível

Não compatível

MULTILINESTRING

Não compatível

Não compatível

MULTIPOLYGON

Não compatível

Não compatível

GEOMETRYCOLLECTION

Não compatível

Não compatível

Pré-requisitos

Antes de começar, verifique se você:

  • Confirmou que está executando o PolarDB-X 2.0. Para o PolarDB-X 1.0, utilize a fonte de dados DRDS.

  • Possui uma conta PolarDB-X 2.0 com as permissões descritas abaixo.

Conceder permissões à conta

Crie uma conta dedicada no PolarDB-X 2.0 para acesso do DataWorks e conceda as permissões adequadas conforme o cenário de sincronização.

Leitura offline (permissão SELECT na tabela de origem)

A conta deve ter a permissão SELECT na tabela de origem.

Gravação offline (permissões de escrita na tabela de destino)

A conta precisa das permissões INSERT, DELETE e UPDATE na tabela de destino.

Sincronização em tempo real — banco de dados completo (acesso a binary logging)

  • Conta privilegiada: Pode ler dados de binary logging (binlog) por padrão.

  • Conta padrão: Conceda as permissões SELECT, REPLICATION SLAVE e REPLICATION CLIENT usando uma conta privilegiada:

-- Create a sync account and allow login from any host (% represents any host)
-- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'password';

-- Grant permissions for real-time (CDC) synchronization
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync_account'@'%';

Adicionar uma fonte de dados

Adicione a fonte de dados PolarDB-X 2.0 ao DataWorks antes de configurar qualquer tarefa de sincronização. Siga as instruções em Gerenciamento de fontes de dados. As descrições dos parâmetros estão disponíveis no console do DataWorks durante a adição da fonte de dados.

Configurar uma tarefa de sincronização offline

Para acessar o ponto de entrada e o procedimento de configuração, consulte Configurar uma tarefa de sincronização offline no editor de código.

Para verificar o formato do script e todos os parâmetros disponíveis, veja o Apêndice: Exemplo de script e descrições de parâmetros abaixo.

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

Utilize o editor de código para configurar tarefas de sincronização em lote no formato JSON. Para os requisitos unificados de formato de script, consulte Configurar uma tarefa no editor de código.

Todos os exemplos usam "type": "job" e "version": "2.0" no nível superior.

Exemplo de script do Reader

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "polardbx20",
            "parameter": {
                "connection": [
                    {
                        "datasource": "",
                        "table": [
                            "t1"
                        ]
                    }
                ],
                "column": [
                    "c1",
                    "c2",
                    "'const'"
                ],
                "where": "",
                "splitPk": "",
                "checkSlave": "true",
                "slaveDelayLimit": "300"
            },
            "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 do script do Reader

Parâmetro

Descrição

Obrigatório

Padrão

datasource

Nome da fonte de dados. Deve corresponder exatamente ao nome configurado na página Data Source Management.

Sim

Nenhum

table

Tabela a ser sincronizada. Apenas uma única tabela é suportada por bloco de conexão.

Sim

Nenhum

column

Colunas a sincronizar, definidas como um array JSON. Use ["*"] para incluir todas as colunas. Não pode ficar em branco. Suporta seleção de colunas específicas, reordenação (a ordem não precisa coincidir com o schema da tabela) e constantes, seguindo a sintaxe SQL do PolarDB-X 2.0. Exemplo: ["id", "table", "1", "'mingya.wmy'", "'null'", "to_char(a+1)", "2.3", "true"].

Sim

Nenhum

splitPk

Coluna utilizada para particionamento de dados, permitindo leituras concorrentes. Defina como chave primária para garantir shards balanceados. Aceita apenas colunas do tipo inteiro — colunas de string, ponto flutuante e data são ignoradas, fazendo com que a leitura retorne a um único canal. Se deixado em branco ou omitido, a leitura ocorre por um único canal.

Não

Nenhum

where

Condição de filtro SQL WHERE para sincronização incremental. Por exemplo, gmt_create>$bizdate sincroniza apenas os dados do dia atual. Não pode ser definido como LIMIT 10. Se omitido, todos os dados serão sincronizados.

Não

Nenhum

checkSlave

Quando a fonte de dados é uma instância somente leitura, verifica o atraso de replicação antes do início da tarefa para evitar perda de dados.

Não

true

slaveDelayLimit

Atraso máximo de replicação permitido, em segundos. Caso o atraso real ultrapasse esse valor, a tarefa falhará.

Não

30

Exemplo de script do Writer

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "PolarDB-X 2.0",
            "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 do script do Writer

Parâmetro

Descrição

Obrigatório

Padrão

datasource

Nome da fonte de dados. Precisa corresponder ao nome configurado na página Data Source Management.

Sim

Nenhum

table

Nome da tabela de destino.

Sim

Nenhum

column

Colunas de destino para gravação, especificadas como um array JSON. Exemplo: ["id", "name", "age"]. Utilize ["*"] para gravar em todas as colunas respeitando a ordem do schema.

Sim

Nenhum

writeMode

Modo de tratamento de conflitos de escrita. Defina como insert (insert into) ou replace (replace into). Consulte Modos de escrita abaixo.

Não

insert

preSql

Instrução(ões) SQL a executar antes do início da tarefa — por exemplo, truncate table tablename;. Na interface sem código, apenas uma instrução é permitida. No editor de código, múltiplas instruções são suportadas, mas sem suporte a transações.

Não

Nenhum

postSql

Instrução(ões) SQL a executar após a conclusão da tarefa — por exemplo, adicionar uma coluna de timestamp. A interface sem código aceita somente uma instrução. O editor de código permite várias instruções, porém sem transações.

Não

Nenhum

batchSize

Quantidade de registros enviados por lote. Valores maiores reduzem idas e vindas na rede e melhoram o throughput, mas podem causar estouro de memória se configurados excessivamente altos.

Não

256

Modos de escrita

Modo

Valor no script

Comportamento em caso de conflito

insert into

insert

Se houver conflito de chave primária ou índice único, a linha conflitante é ignorada e registrada como dado sujo.

replace into

replace

Na ausência de conflitos, comporta-se igual ao insert into. Quando ocorre conflito, a linha existente é excluída e a nova linha é inserida, substituindo todos os campos.

Configurações no nível da tarefa

Parâmetro

Descrição

Padrão

errorLimit.record

Número de registros com erro permitidos antes que a tarefa falhe.

"0"

speed.throttle

Indica se deve aplicar limite de taxa. Defina como true para ativar; false desativa o limite e torna o parâmetro mbps ineficaz.

true

speed.concurrent

Quantidade de canais concorrentes.

1

speed.mbps

Taxa máxima de sincronização em Mbps. Controla a pressão de leitura e gravação na origem e no destino. Só entra em vigor quando throttle estiver definido como true.

"12"