Todos os produtos
Search
Central de documentação

DataWorks:Fonte de dados do AnalyticDB for MySQL 3.0

Última atualização: Oct 09, 2026

A fonte de dados do AnalyticDB for MySQL 3.0 permite ler e gravar dados no AnalyticDB for MySQL 3.0 por meio de um canal bidirecional. Este tópico descreve os recursos de sincronização de dados do AnalyticDB for MySQL 3.0 compatíveis com o DataWorks.

Limites

  • Não é possível configure ou execute tarefas de sincronização para uma source de dados ADB Lakehouse Edition em um grupo de recursos público.

  • Se uma instância configurada em uma source de dados ADB for alterada da Data Warehouse Edition para a Lakehouse Edition, as tarefas de sincronização que utilizam essa source de dados em um grupo de recursos público falharão. Antes de trocar de edição, verifique se há tarefas em execução em grupos de recursos públicos e migre-as para um Serverless resource group (recommended) ou para um grupo de recursos exclusivo do Data Integration.

  • A sincronização em lote oferece suporte à leitura de views (tabelas VIEW).

Tipos de campo compatíveis

Leitura em lote

A tabela a seguir lista os mapeamentos de tipos do AnalyticDB for MySQL 3.0 para o AnalyticDB for MySQL 3.0 Reader.

Categoria de tipo

Tipo do AnalyticDB for MySQL 3.0

Inteiro

INT, INTEGER, TINYINT, SMALLINT e BIGINT

Ponto flutuante

FLOAT, DOUBLE e DECIMAL

String

VARCHAR

Data e hora

DATE, DATETIME, TIMESTAMP e TIME

Booleano

BOOLEAN

Gravação em lote

A tabela abaixo apresenta os mapeamentos de tipos do AnalyticDB for MySQL 3.0 para o AnalyticDB for MySQL 3.0 Writer.

Tipo

Tipo de dados do AnalyticDB for MySQL 3.0

Inteiro

INT, INTEGER, TINYINT, SMALLINT e BIGINT

Ponto flutuante

FLOAT, DOUBLE e DECIMAL

String

VARCHAR

Data e hora

DATE, DATETIME, TIMESTAMP e TIME

Booleano

BOOLEAN

Adicionar uma source de dados

Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a source de dados necessária seguindo as instruções em Data source configuration. Consulte as descrições dos parâmetros no console do DataWorks para compreender o significado de cada parâmetro ao adicionar uma source de dados.

Desenvolver tarefas de sincronização de dados

Para obter informações sobre o ponto de entrada e o procedimento de configuração de uma tarefa de sincronização, consulte os guias de configuração a seguir.

configure uma tarefa de sincronização em lote de tabela única

configure uma tarefa de sincronização em tempo real de tabela única

Siga o procedimento descrito em Single-table real-time synchronization task configuration.

configure uma tarefa de sincronização em lote de banco de dados completo

As instruções estão disponíveis em Batch database synchronization configuration.

configure uma tarefa de sincronização em tempo real de banco de dados completo

Verifique o passo a passo em Configure real-time full-database synchronization tasks.

Apêndice: Exemplos de scripts e parâmetros

configure uma tarefa de sincronização em lote usando o editor de código

Ao configure uma tarefa de sincronização em lote pelo editor de código, defina os parâmetros relevantes no script conforme os requisitos unificados de formato. Para mais informações, consulte Script mode configuration. As informações a seguir detalham os parâmetros obrigatórios para fontes de dados durante a configuração via editor de código.

Exemplo de script do Reader

{ "type": "job", "steps": [ { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "column": [ //Column names. "id", "value", "table" ], "connection": [ { "datasource": "xxx", //Data source. "table": [ //Table name. "xxx" ] } ], "where": "", //Filter condition. "splitPk": "", //Split key. "encoding": "UTF-8" //Encoding format. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Maximum number of error records during synchronization. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":1 //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }

Parâmetros do script do Reader

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da source de dados. No modo script, adicione uma source de dados. O valor deve corresponder exatamente ao nome da source de dados adicionada.

Sim

Nenhum

table

Tabela alvo da sincronização.

Sim

Nenhum

column

Colunas a serem sincronizadas da tabela configurada. Descreva os campos em um array JSON. Por padrão, todas as colunas são selecionadas, por exemplo, [ * ].

  • Há suporte para seleção de colunas, permitindo exportar apenas as colunas desejadas.

  • É possível reordenar colunas, de modo que a ordem de exportação pode diferir da ordem do schema da tabela.

  • Valores constantes são aceitos. Siga a sintaxe do MySQL, por exemplo, [“id”, “table“, “1”, “‘bazhen.csy’”, “null”, “to_char(a + 1)”, “2,3” , “true”].

    • id é um nome de coluna comum.

    • table é um nome de coluna reservado.

    • 1 representa uma constante inteira.

    • bazhen.csy é uma constante string.

    • null indica um ponteiro nulo.

    • to_char(a + 1) é uma expressão de função para calcular o comprimento da string.

    • 2,3 corresponde a um número de ponto flutuante.

    • true é um valor booleano.

  • column: especifique explicitamente um conjunto não vazio de colunas para sincronização.

Sim

Nenhum

splitPk

Durante a extração de dados pelo AnalyticDB for MySQL 3.0 Reader, especificar splitPk indica o uso do campo representado por splitPk para dividir os dados. A sincronização inicia tarefas concorrentes para aumentar a eficiência.

  • Recomenda-se usar a chave primária da tabela como splitPk. Valores de chave primária geralmente têm distribuição uniforme, reduzindo a probabilidade de hotspots de dados nos shards resultantes.

  • Atualmente, splitPk oferece suporte à divisão apenas de dados inteiros, não aceitando strings, números de ponto flutuante, datas ou outros tipos. Se você especifique um tipo incompatível, a configuração de splitPk será ignorada e a sincronização usará um único canal.

  • Se splitPk não for definido, seja pela ausência do parâmetro splitPk ou por seu valor estar vazio, a leitura da tabela ocorrerá por um único canal.

Não

Nenhum

where

Condição de filtro. Em muitos cenários de negócios, sincronizam-se apenas os dados do dia atual. defina a condição where como gmt_create>$bizdate.

  • O parâmetro where viabiliza a sincronização incremental de negócios. Caso a cláusula where não seja especificada, seja pela falta da chave where ou de seu valor, todos os dados serão sincronizados.

  • Evite definir a condição where como LIMIT 10, pois isso não atende às restrições de uma cláusula WHERE do SQL no MySQL.

Não

Nenhum

Exemplo de script do Writer

{ "type": "job", "steps": [ { "stepType": "stream", "parameter": {}, "name": "Reader", "category": "reader" }, { "stepType": "analyticdb_for_mysql", //Plug-in name. "parameter": { "postSql": [], //Statements to run after import. "tableType": null, //Reserved field, empty by default. "datasource": "hangzhou_ads", //Data source name. "column": [ //Fields to synchronize. "id", "value" ], "guid": null, "writeMode": "insert", //Write mode. See the writeMode parameter description. "batchSize": 2048, //Batch size. See the batchSize parameter description. "encoding": "UTF-8", //Encoding format. "table": "t5", //Name of the table to write to. "preSql": [] //Statements to run before import. }, "name": "Writer", "category": "writer" } ], "version": "2.0", //Configuration file format version. "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" //Number of error records. }, "speed": { "throttle":true,//When throttle is false, mbps is ignored and throughput is unlimited; when true, throughput is limited. "concurrent":2, //Job concurrency. "mbps":"12"//Rate limit. Here, 1 mbps = 1 MB/s. } } }

Parâmetros do script do Writer

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da source de dados. No modo script, adicione uma source de dados. O valor informado deve ser idêntico ao nome da source de dados criada.

Sim

Nenhum

table

Nome da tabela de destino da sincronização.

Sim

Nenhum

writeMode

Modo de gravação. escolha entre insert, replace ou update.

  • insert: Os dados são gravados normalmente se não houver conflito de chave primária ou índice único. Em caso de conflito, a linha atual é ignorada sem atualização.

  • replace: A gravação ocorre normalmente na ausência de conflitos de chave primária ou índice único. Se houver conflito, a linha conflitante é excluída antes da inserção da nova linha, substituindo todos os campos originais.

  • update: Na falta de conflitos de chave primária ou índice único, os dados são gravados normalmente. Caso ocorra conflito, a nova linha substitui todos os campos da linha original.

    Nota

    Este modo tem suporte apenas no modo script.

Não

insert

column

Campos a serem gravados na tabela de destino, separados por vírgulas, como em "column": ["id", "name", "age"]. Para gravar todas as colunas em ordem, utilize , por exemplo: "column": [""].

Nota

Se o nome de um campo contiver a palavra select, envolva-o com crases. Por exemplo, escreva item_select_no como item_select_no.

Sim

Nenhum

preSql

Instruções SQL executadas antes da tarefa de sincronização. O modo assistente permite apenas uma instrução SQL; já o modo script aceita múltiplas instruções, como limpar dados antigos.

Nota

Não há suporte a transações para múltiplas instruções SQL.

Não

Nenhum

postSql

Instruções SQL executadas após a conclusão da tarefa de sincronização. O modo assistente restringe a uma única instrução; o modo script possibilita várias instruções, como adicionar um timestamp.

Nota

Não há suporte a transações quando existem múltiplas instruções SQL.

Não

Nenhum

batchSize

Quantidade de registros enviados em cada lote. Esse ajuste reduz significativamente as interações de rede entre o sistema de sincronização e o MySQL, elevando o throughput geral. Valores excessivamente altos podem provocar erros de falta de memória (OOM) durante o processo.

Não

1.024