O DataWorks Data Integration oferece suporte ao DM (Dameng) como origem 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 de tipo inteiro) |
— |
|
Sincronização incremental ( |
Sim |
— |
|
Execução de Pre SQL |
Sim |
Sim |
|
Execução de Post SQL |
— |
Sim |
|
Grupos de recursos Serverless |
Sim |
Sim |
|
Grupos de recursos exclusivos para Data Integration |
Sim |
Sim |
Tipos de campos suportados
O DM Reader e o DM Writer oferecem suporte à maioria dos tipos de dados comuns de bancos de dados relacionais. A tabela a seguir lista os tipos de dados DM que o DM Reader consegue converter. Tipos não suportados causam erro de leitura — verifique o esquema 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 a tarefa por meio da interface sem código ou do editor de código:
Interface sem código: Configure a task in the codeless UI
Editor de código: Configure a task in the code editor
Para a referência completa do script e a descrição dos parâmetros, consulte Referência de script.
Sincronização offline de banco de dados inteiro
Referência de script
Ao configurar uma tarefa de sincronização em lote no editor de código, utilize 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 fonte de dados DM. Consulte Configure a DM data source. |
|
|
Sim |
— |
Tabela da qual os dados serão lidos. |
|
|
Sim |
— |
Colunas a sincronizar, em formato de array JSON. Use |
|
|
Não |
Vazio |
Coluna usada para dividir os dados em leituras paralelas. Defina como a chave primária para distribuição uniforme e para evitar pontos de concentração de dados. Apenas colunas de tipo inteiro são aceitas — tipos de ponto flutuante, string, data e outros geram erro. Sem essa definição, a tabela é lida em um único canal. |
|
|
Não |
— |
Condição de filtro SQL adicionada à consulta — por exemplo, |
|
|
Não |
— |
Consulta SQL personalizada — por exemplo, |
|
|
Não |
1.024 |
Número de linhas obtidas por lote. Valores mais altos reduzem as viagens de ida e volta na rede e melhoram a vazão. 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 é aceita. |
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 fonte de dados DM. Consulte Configure a DM data source. |
|
|
Sim |
— |
Tabela de destino. Se o esquema da tabela for diferente do nome de usuário na configuração da fonte 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 colunas. |
|
|
Não |
— |
Instrução SQL executada antes do início da tarefa de sincronização — por exemplo, para limpar dados antigos. Apenas uma instrução é aceita; múltiplas instruções desabilitam o suporte a transações. |
|
|
Não |
— |
Instrução SQL executada após a conclusão da tarefa de sincronização — por exemplo, para adicionar um timestamp. Apenas uma instrução é aceita; múltiplas instruções desabilitam o suporte a transações. |
|
|
Não |
1.024 |
Número de linhas gravadas por lote. Valores mais altos reduzem as interações de rede e melhoram a vazão. Valores excessivamente grandes podem causar erro de OOM. |