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
Para detalhes do procedimento, consulte Codeless UI configuration e Script mode configuration.
Para todos os parâmetros do modo script e exemplos de scripts, consulte Appendix: Sample scripts and parameters.
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, [ * ].
| 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.
| 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
| 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.
| Não | insert |
column | Campos a serem gravados na tabela de destino, separados por vírgulas, como em Nota Se o nome de um campo contiver a palavra select, envolva-o com crases. Por exemplo, escreva item_select_no como | 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 |