Todos os produtos
Search
Central de documentação

DataWorks:DM (Dameng)

Última atualização: Jun 27, 2026

O Data Integration do DataWorks suporta o DM (Dameng) como source e destino para sincronização em lote offline. Use o DM Reader para extrair dados de bancos de dados DM e o DM Writer para carregá-los.

Capacidades

Capacidade

DM Reader

DM Writer

Sincronização offline (em lote)

Sim

Sim

Leitura de views

Sim

Seleção de colunas

Sim

Reordenação de colunas

Sim

Leitura paralela (splitPk)

Sim (apenas colunas inteiras)

Sincronização incremental (where)

Sim

Execução de SQL prévio

Sim

Sim

Execução de SQL posterior

Sim

Grupos de recursos Serverless

Sim

Sim

Grupos de recursos exclusivos para Data Integration

Sim

Sim

Tipos de campo suportados

O DM Reader e o DM Writer suportam a maioria dos tipos de dados comuns de bancos relacionais. A tabela a seguir lista os tipos de dados DM que o DM Reader converte. Tipos não suportados causam erros de leitura; portanto, verifique seu schema antes de configurar uma tarefa de sincronização.

Categoria

Tipos de dados DM

Inteiro

INT, TINYINT, SMALLINT, BIGINT

Ponto flutuante

REAL, FLOAT, DOUBLE, NUMBER, DECIMAL

String

CHAR, VARCHAR, LONGVARCHAR, TEXT

Data e hora

DATE, DATETIME, TIMESTAMP, TIME

Booleano

BIT

Binário

BINARY, VARBINARY, BLOB

Configure uma tarefa de sincronização

Sincronização offline de tabela única

Configure uma tarefa usando a interface visual sem código ou o editor de código:

Para consultar a referência completa de scripts e as descrições de parâmetros, veja Referência de script.

Sincronização offline de banco de dados inteiro

Consulte Configurar uma tarefa de sincronização em tempo real para um banco de dados inteiro.

Referência de script

Ao configurar uma tarefa de sincronização em lote no editor de código, use o formato de script unificado. As seções a seguir abordam os parâmetros específicos do DM para Reader e Writer.

Reader

Exemplo de script

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "0" },
    "speed": {
      "throttle": true,
      "concurrent": 1,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["*"],
        "preSql": ["delete from XXX;"],
        "fetchSize": 2048
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "stream",
      "parameter": {}
    }
  ]
}

Parâmetros do Reader

Parâmetro

Obrigatório

Padrão

Descrição

datasource

Sim

Nome da source de dados DM. Consulte Configurar uma source de dados DM.

table

Sim

Tabela de onde os dados serão lidos.

column

Sim

Colunas a sincronizar, definidas como um array JSON. Use ["*"] para todas as colunas. Suporta seleção de colunas, reordenação e constantes (inteiro, string, null, expressão de função, ponto flutuante, booleano).

splitPk

Não

Vazio

Coluna usada para dividir os dados em leituras paralelas. Defina este valor como a chave primária para garantir distribuição uniforme e evitar pontos de congestionamento de dados. Apenas colunas inteiras são suportadas; tipos de ponto flutuante, string, data e outros causam erro. Se não definido, a tabela será lida com um único canal.

where

Não

Condição de filtro SQL anexada à consulta. Por exemplo, gmt_create>$bizdate para sincronização incremental ou limit 10 para testes. Se não definido, todas as linhas serão lidas.

querySql

Não

Consulta SQL personalizada. Exemplo: select a,b from table_a join table_b on table_a.id = table_b.id. Quando definido, os parâmetros column, table e where são ignorados.

fetchSize

Não

1.024

Quantidade de linhas buscadas por lote. Valores maiores reduzem as idas e vindas na rede e melhoram o throughput. Valores acima de 2.048 podem causar erro de falta de memória (OOM).

preSql

Não

Instrução SQL executada antes do início da tarefa de sincronização. Apenas uma instrução é suportada.

Writer

Exemplo de script

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "" },
    "speed": {
      "throttle": true,
      "concurrent": 2,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "oracle",
      "parameter": {
        "datasource": "aaa",
        "column": ["PROD_ID", "name"],
        "where": "",
        "splitPk": "",
        "encoding": "UTF-8",
        "table": "PENGXI.SALES"
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["id", "name"],
        "preSql": ["delete from XXX;"]
      }
    }
  ]
}

Parâmetros do Writer

Parâmetro

Obrigatório

Padrão

Descrição

datasource

Sim

Nome da source de dados DM. Consulte Configurar uma source de dados DM.

table

Sim

Tabela de destino. Caso o schema da tabela seja diferente do nome de usuário na configuração da source de dados, use o formato schema.table.

column

Sim

Colunas de destino para gravação, separadas por vírgulas. Não use as configurações padrão de coluna.

preSql

Não

Instrução SQL executada antes do início da tarefa de sincronização, útil para limpar dados antigos, por exemplo. Apenas uma instrução é suportada; múltiplas instruções desativam o suporte a transações.

postSql

Não

Instrução SQL executada após a conclusão da tarefa de sincronização, como adicionar um timestamp. Somente uma instrução é permitida; o uso de várias instruções desativa o suporte a transações.

batchSize

Não

1.024

Número de linhas gravadas por lote. Valores elevados diminuem as interações de rede e aumentam o throughput. No entanto, valores excessivamente grandes podem provocar erros OOM.

Próximos passos