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 ( |
Sim (apenas colunas inteiras) |
— |
|
Sincronização incremental ( |
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:
Interface visual sem código: Configurar uma tarefa na interface visual sem código
Editor de código: Configurar uma tarefa no 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 |
|
|
Sim |
— |
Nome da source de dados DM. Consulte Configurar uma source de dados DM. |
|
|
Sim |
— |
Tabela de onde os dados serão lidos. |
|
|
Sim |
— |
Colunas a sincronizar, definidas como um array JSON. Use |
|
|
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. |
|
|
Não |
— |
Condição de filtro SQL anexada à consulta. Por exemplo, |
|
|
Não |
— |
Consulta SQL personalizada. Exemplo: |
|
|
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). |
|
|
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 |
|
|
Sim |
— |
Nome da source de dados DM. Consulte Configurar uma source de dados DM. |
|
|
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 |
|
|
Sim |
— |
Colunas de destino para gravação, separadas por vírgulas. Não use as configurações padrão de coluna. |
|
|
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. |
|
|
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. |
|
|
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. |