Todos os produtos
Search
Central de documentação

DataWorks:PolarDB-X 2.0

Última atualização: Sep 25, 2026

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

Visão geral da configuração

Para sincronizar dados entre o PolarDB-X 2.0 e outros sistemas, siga estas etapas:

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

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

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

  4. Por fim, configure e execute uma tarefa de sincronização offline.

Versões suportadas

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

Limites

As fontes de dados do PolarDB-X 2.0 oferecem suporte a serverless resource groups (recommended) e exclusive resource groups for Data Integration.

Tipos de campo suportados

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

Tipo de campo

Leitura offline (PolarDB-X 2.0 Reader)

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

TINYINT

Suportado

Suportado

SMALLINT

Suportado

Suportado

INTEGER

Suportado

Suportado

BIGINT

Suportado

Suportado

FLOAT

Suportado

Suportado

DOUBLE

Suportado

Suportado

DECIMAL/NUMERIC

Suportado

Suportado

REAL

Não suportado

Não suportado

VARCHAR

Suportado

Suportado

JSON

Suportado

Suportado

TEXT

Suportado

Suportado

MEDIUMTEXT

Suportado

Suportado

LONGTEXT

Suportado

Suportado

VARBINARY

Suportado

Suportado

BINARY

Suportado

Suportado

TINYBLOB

Suportado

Suportado

MEDIUMBLOB

Suportado

Suportado

LONGBLOB

Suportado

Suportado

ENUM

Suportado

Suportado

SET

Suportado

Suportado

BOOLEAN

Suportado

Suportado

BIT

Suportado

Suportado

DATE

Suportado

Suportado

DATETIME

Suportado

Suportado

TIMESTAMP

Suportado

Suportado

TIME

Suportado

Suportado

YEAR

Suportado

Suportado

LINESTRING

Não suportado

Não suportado

POLYGON

Não suportado

Não suportado

MULTIPOINT

Não suportado

Não suportado

MULTILINESTRING

Não suportado

Não suportado

MULTIPOLYGON

Não suportado

Não suportado

GEOMETRYCOLLECTION

Não suportado

Não suportado

Pré-requisitos

Antes de começar, certifique-se de que você:

  • Confirmou que está executando o PolarDB-X 2.0. Para o PolarDB-X 1.0, use o DRDS data source.

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

Conceder permissões à conta

Para começar, crie uma conta dedicada do PolarDB-X 2.0 para acesso ao DataWorks e, em seguida, conceda as permissões apropriadas com base no seu 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 gravação na tabela de destino)

A conta deve ter as permissões INSERT, DELETE e UPDATE na tabela de destino.

Sincronização em tempo real — banco de dados completo (acesso a logs binários)

  • Conta privilegiada: Pode ler dados de log binário (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 do PolarDB-X 2.0 ao DataWorks antes de configurar qualquer tarefa de sincronização. Siga as instruções em Data source configuration. As descrições dos parâmetros estão disponíveis no console do DataWorks ao adicionar a fonte de dados.

Configurar uma tarefa de sincronização offline

Para saber o caminho de acesso e o procedimento de configuração, consulte Configure an offline sync task in the code editor.

Para o formato do script e todos os parâmetros disponíveis, consulte Appendix: Script demo and parameter descriptions abaixo.

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

Use o editor de código para configurar tarefas de sincronização em lote no formato JSON. Para os requisitos de formato de script unificado, consulte Configure a task in the code editor.

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

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

Sim

Nenhum

table

A tabela a ser sincronizada. Suporta apenas uma tabela por bloco de conexão.

Sim

Nenhum

column

As colunas a serem sincronizadas, como uma matriz JSON. Use ["*"] para incluir todas as colunas, ou selecione colunas específicas. Não pode ficar em branco. Oferece suporte à reordenação de colunas (a ordem não precisa corresponder ao schema da tabela) e a constantes seguindo PolarDB-X 2.0 SQL syntax. Exemplo: ["id", "table", "1", "'mingya.wmy'", "'null'", "to_char(a+1)", "2.3", "true"].

Sim

Nenhum

splitPk

A coluna a ser usada para particionamento de dados, permitindo leituras simultâneas. Para shards equilibrados, defina como a chave primária. Oferece suporte apenas a colunas do tipo inteiro — colunas de string, ponto flutuante e data são ignoradas, e os dados voltam para um único canal. Se estiver em branco ou omitido, os dados serão lidos por meio de um único canal.

Não

Nenhum

where

Uma condição de filtro WHERE SQL 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

O atraso máximo de replicação permitido em segundos. Se o atraso real exceder 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

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

Sim

Nenhum

table

O nome da tabela de destino.

Sim

Nenhum

column

As colunas de destino nas quais gravar, como uma matriz JSON. Exemplo: ["id", "name", "age"]. Use ["*"] para gravar em todas as colunas na ordem do schema.

Sim

Nenhum

writeMode

O modo de conflito de gravação. Para o modo de conflito, defina como insert (insert into) ou replace (replace into). Consulte Modos de gravação abaixo.

Não

insert

preSql

Instruções SQL a serem executadas antes do início da tarefa — por exemplo, truncate table tablename;. Na interface sem código, apenas uma instrução é permitida. O editor de código suporta várias instruções. Transações com várias instruções não são suportadas.

Não

Nenhum

postSql

Instruções SQL a serem executadas após a conclusão da tarefa — por exemplo, atualize uma coluna de carimbo de data/hora. Na interface sem código, apenas uma instrução é permitida. O editor de código suporta várias instruções. Transações com várias instruções não são suportadas.

Não

Nenhum

batchSize

O número de registros enviados por lote. Um valor maior reduz as requisições de ida e volta na rede e melhora o throughput, mas pode causar estouro de memória se for definido muito alto.

Não

256

Modos de gravação

Modo

Valor do script

Comportamento em caso de conflito

insert into

insert

Se ocorrer um conflito de chave primária ou índice único, a linha conflitante será ignorada e registrada como dados sujos.

replace into

replace

Se não ocorrer nenhum conflito, comporta-se da mesma forma que o insert into. Se ocorrer um conflito, exclua a linha existente e insira a nova linha, substituindo todos os campos.

Configurações no nível do job

Parâmetro

Descrição

Padrão

errorLimit.record

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

"0"

speed.throttle

Se deve aplicar um limite de taxa. Para ativar, defina como true e ative o limite de taxa; false desativa o limite de taxa e o parâmetro mbps não tem efeito.

true

speed.concurrent

O número de canais simultâneos.

1

speed.mbps

A taxa máxima de sincronização em Mbps. Controla a pressão de leitura/gravação na origem e no destino. Só entra em vigor quando o throttle é true.

"12"