Uma fonte de dados MySQL fornece canais bidirecionais de leitura e escrita para sincronizar dados com bancos de dados MySQL por meio do Data Integration.
Versões suportadas do MySQL
-
Leitura e escrita offline:
Compatível com MySQL 5.5.x, 5.6.x, 5.7.x e 8.0.x. Também oferece suporte a Amazon RDS for MySQL, Azure Database for MySQL e Amazon Aurora MySQL.
A sincronização offline permite leitura a partir de views.
-
Leitura em tempo real:
O Data Integration utiliza assinatura em tempo real para ler dados do MySQL. Há suporte à sincronização em tempo real nas versões 5.5.x, 5.6.x, 5.7.x e 8.0.x do MySQL, mas não há compatibilidade com novos recursos do MySQL 8.0, como o índice funcional. Esta funcionalidade também é compatível com Amazon RDS for MySQL, Azure Database for MySQL e Amazon Aurora MySQL.
ImportanteCaso precise sincronizar dados do DRDS, não o configure como uma fonte de dados MySQL. Configure-o diretamente como uma fonte de dados DRDS. Para obter instruções, consulte Configurar uma fonte de dados DRDS.
Limitações
Sincronização em tempo real
Não é possível sincronizar dados de instâncias somente leitura do MySQL com versão anterior a 5.6.x.
Não há suporte para sincronização de tabelas que contenham índices funcionais.
-
XA ROLLBACK não é suportado.
Para transações no estado XA PREPARE, a sincronização em tempo real grava os dados no destino. Se um comando XA ROLLBACK for emitido, a sincronização em tempo real não reverte os dados preparados. Para lidar com esse cenário, remova manualmente a tabela da tarefa de sincronização em tempo real e adicione-a novamente para ressincronizar.
O formato de binary log do servidor MySQL deve estar definido como ROW.
A sincronização em tempo real não replica exclusões em cascata em tabelas associadas.
Para bancos de dados Amazon Aurora MySQL, conecte-se à sua instância primária/gravação. Não é possível ativar o recurso Binlog em réplicas de leitura do Aurora MySQL, e as tarefas de sincronização em tempo real exigem Binlog para atualizações incrementais.
Para alterações DDL online em tabelas MySQL, a sincronização em tempo real suporta apenas a adição de colunas (Add Column) via Data Management Service (DMS).
Não há suporte para leitura de stored procedures do MySQL.
Sincronização offline
Ao usar o plugin MySQL Reader para sincronizar várias tabelas de um banco de dados fragmentado, defina a concorrência com um valor maior que o número de tabelas para habilitar a divisão de tabelas. Caso contrário, o sistema cria uma tarefa por tabela.
Não há suporte para leitura de stored procedures do MySQL.
Tipos de dados suportados
Para obter uma lista completa dos tipos de dados do MySQL em cada versão, consulte a documentação oficial do MySQL. A tabela a seguir lista o status de suporte dos principais tipos de dados, usando o MySQL 8.0.x como exemplo.
|
Tipo |
Leitura offline (MySQL Reader) |
Escrita offline (MySQL Writer) |
Leitura em tempo real |
Escrita em tempo real |
|
TINYINT |
|
|
|
|
|
SMALLINT |
|
|
|
|
|
INTEGER |
|
|
|
|
|
BIGINT |
|
|
|
|
|
FLOAT |
|
|
|
|
|
DOUBLE |
|
|
|
|
|
DECIMAL/NUMERIC |
|
|
|
|
|
REAL |
|
|
|
|
|
VARCHAR |
|
|
|
|
|
JSON |
|
|
|
|
|
TEXT |
|
|
|
|
|
MEDIUMTEXT |
|
|
|
|
|
LONGTEXT |
|
|
|
|
|
VARBINARY |
|
|
|
|
|
BINARY |
|
|
|
|
|
TINYBLOB |
|
|
|
|
|
MEDIUMBLOB |
|
|
|
|
|
LONGBLOB |
|
|
|
|
|
ENUM |
|
|
|
|
|
SET |
|
|
|
|
|
BOOLEAN |
|
|
|
|
|
BIT |
|
|
|
|
|
DATE |
|
|
|
|
|
DATETIME |
|
|
|
|
|
TIMESTAMP |
|
|
|
|
|
TIME |
|
|
|
|
|
YEAR |
|
|
|
|
|
LINESTRING |
|
|
|
|
|
POLYGON |
|
|
|
|
|
MULTIPOINT |
|
|
|
|
|
MULTILINESTRING |
|
|
|
|
|
MULTIPOLYGON |
|
|
|
|
|
GEOMETRYCOLLECTION |
|
|
|
|
Pré-requisitos
Prepare seu ambiente MySQL antes de adicioná-lo como fonte de dados no DataWorks para garantir que as tarefas de sincronização de dados sejam executadas corretamente.
Conclua os seguintes pré-requisitos.
Verificar a versão do MySQL
O Data Integration suporta apenas versões específicas do MySQL. Para mais informações, consulte a seção Versões suportadas do MySQL. Verifique sua versão do MySQL executando o seguinte comando:
SELECT version();
Configurar permissões da conta
Recomendamos criar uma conta MySQL dedicada para acesso à fonte de dados do DataWorks.
-
Opcional: Crie uma conta.
Para instruções detalhadas, consulte Criar uma conta MySQL.
-
Conceda permissões.
-
Em lote
Em cenários de sincronização em lote:
Para ler dados do MySQL, a conta deve ter permissão de leitura (
SELECT) nas tabelas que você deseja sincronizar.Para gravar dados no MySQL, a conta deve ter permissões de escrita (
INSERT,DELETEeUPDATE) nas tabelas que você deseja sincronizar.
NotaSe você precisar apenas ler dados do MySQL para sincronização sem gravar dados de volta, basta conceder a permissão
SELECTà conta. As permissõesINSERT,DELETEeUPDATEnão são necessárias para sincronização somente leitura. -
Tempo real
Em cenários de sincronização em tempo real, a conta deve ter as permissões
SELECT,REPLICATION SLAVEeREPLICATION CLIENTno banco de dados.
Execute os comandos a seguir para conceder as permissões necessárias. Alternativamente, conceda à conta a permissão
SUPER. No comando abaixo, substitua'sync_account'pelo nome da conta criada.-- Optional: Create a synchronization account that can connect from any host ('%'). -- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'your_password'; -- Grant the required permissions to the synchronization account. GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync_account'@'%';A sintaxe
*.*concede as permissões em todas as tabelas de todos os bancos de dados. Também é possível conceder permissões em uma tabela específica dentro de um banco de dados específico. Por exemplo, para conceder permissões na tabelauserdo banco de dadostest, execute o seguinte comando:GRANT SELECT, REPLICATION CLIENT ON test.user TO 'sync_account'@'%';.NotaA permissão
REPLICATION SLAVEé global e não pode ser concedida para um banco de dados ou tabela específicos. -
Ativar binlog do MySQL (apenas para sincronização em tempo real)
O Data Integration realiza sincronização incremental de dados em tempo real assinando binlogs do MySQL. É necessário ativar o binlog do MySQL antes de configurar uma tarefa de sincronização no DataWorks.
Enquanto um binlog estiver sendo consumido, o banco de dados não poderá excluí-lo. Alta latência em uma tarefa de sincronização em tempo real pode atrasar a exclusão do binlog, o que pode esgotar o espaço em disco. Recomendamos configurar alertas de latência para sua tarefa e monitorar o espaço em disco do banco de dados.
Mantenha os binlogs por pelo menos 72 horas. Se uma tarefa falhar e os binlogs não estiverem mais disponíveis, não será possível redefinir o checkpoint para uma posição anterior à falha, o que pode causar perda de dados. Nesse caso, use a sincronização em lote para repor os dados.
-
Verifique se o binlog está ativado.
-
Execute a instrução a seguir para verificar se o binlog está ativado.
SHOW variables LIKE "log_bin";Se o valor retornado for
ON, o binlog está ativado. -
Para verificar o status do binlog em um banco de dados réplica, execute a seguinte instrução.
SHOW variables LIKE "log_slave_updates";Se o valor retornado for
ON, o binlog está ativado no banco de dados réplica.
Se o valor retornado não for o esperado:
Para MySQL open-source, consulte a documentação oficial do MySQL para obter instruções sobre como ativar o binlog.
Para RDS for MySQL, consulte Fazer backup de uma instância do ApsaraDB RDS for MySQL para obter instruções sobre como ativar o binlog.
Para PolarDB for MySQL, consulte Ativar ou desativar binary logging para obter instruções sobre como ativar o binlog.
-
-
Verifique o formato do binlog.
Execute a instrução a seguir para verificar o formato do binlog.
SHOW variables LIKE "binlog_format";Valores possíveis de retorno:
Um valor de retorno ROW indica que o formato de binlog ativado é
ROW.STATEMENT: O formato do binlog é
STATEMENT.MIXED: O formato do binlog é
MIXED.
ImportanteA sincronização em tempo real do DataWorks suporta apenas o formato ROW. Se o valor retornado não for ROW, altere a configuração
binlog_format. -
Verifique se imagens completas de linha estão registradas.
Execute a instrução a seguir para verificar a configuração de imagem de linha.
SHOW variables LIKE "binlog_row_image";Valores possíveis de retorno:
FULL: Imagens completas de linha são registradas.
MINIMAL: Imagens mínimas de linha são registradas em vez de imagens completas.
ImportanteA sincronização em tempo real do DataWorks suporta apenas servidores MySQL com imagens completas de linha ativadas para binlog. Se o valor retornado não for FULL, modifique a configuração binlog_row_image.
Configurar permissões de leitura de binlog do OSS
Ao adicionar uma fonte de dados MySQL, se você definir o Configuration Mode como ApsaraDB for RDS e sua instância RDS for MySQL estiver na mesma região do seu workspace do DataWorks, será possível ativar Read binlogs from OSS. O DataWorks então buscará binlogs no OSS caso o acesso direto aos binlogs do RDS for MySQL falhe, evitando interrupções nas tarefas de sincronização em tempo real.
Se você usar um Alibaba Cloud RAM User ou uma Alibaba Cloud RAM Role como OSS binlog access identity, também deverá conceder as permissões necessárias.
-
Usuário RAM
Faça login no console Resource Access Management (RAM), acesse a página Users e localize o usuário RAM desejado.
Na coluna Operations, clique em Add Permissions.
-
Configure os parâmetros a seguir e clique em OK.
Scope: Alibaba Cloud account
Permission Policy: system policy
Policy Name:
AliyunDataWorksAccessingRdsOSSBinlogPolicy

-
Função RAM
-
Faça login no console Resource Access Management (RAM) e crie uma função RAM. Para mais informações, consulte Criar uma função RAM para uma conta confiável da Alibaba Cloud.
Parâmetros principais:
Select trusted entity: Alibaba Cloud account
Select account: Other Alibaba Cloud account. Insira o ID da conta da Alibaba Cloud proprietária do workspace do DataWorks.
Role name: Insira um nome personalizado.
-
Conceda permissões à função RAM. Para mais informações, consulte Conceder permissões a uma função RAM.
Parâmetros principais:
Permission Policy: system policy
Policy Name:
AliyunDataWorksAccessingRdsOSSBinlogPolicy
-
Modifique a política de confiança da função RAM. Para mais informações, consulte Editar a política de confiança de uma função RAM.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<your_alibaba_cloud_account_id>@di.dataworks.aliyuncs.com", "<your_alibaba_cloud_account_id>@dataworks.aliyuncs.com" ] } } ], "Version": "1" }
-
Adicionar uma fonte de dados
Modo de instância da Alibaba Cloud
Se seu banco de dados MySQL for executado em uma instância RDS da Alibaba Cloud, recomendamos criar a fonte de dados no modo de instância da Alibaba Cloud. Configure os parâmetros conforme descrito abaixo:
|
Parâmetro |
Descrição |
|
Data Source Name |
O nome da fonte de dados deve ser exclusivo dentro do workspace. Recomendamos usar um nome que identifique claramente o negócio e o ambiente, por exemplo, |
|
Configuration Mode |
Selecione o modo de instância da Alibaba Cloud. Para mais informações sobre modos de configuração, consulte Cenário 1: Modo de Instância (Conta Cloud Atual) e Cenário 2: Modo de Instância (Outra Conta Cloud). |
|
Alibaba Cloud Account |
Selecione a conta cloud à qual a instância pertence. Se selecionar Another Alibaba Cloud Account, configure as permissões entre contas. Para mais informações, consulte Autorização Entre Contas (RDS, Hive ou Kafka). Se selecionar outra conta cloud, forneça as seguintes informações:
|
|
Region |
A região da instância. |
|
Instance |
Selecione o nome da instância à qual se conectar. |
|
Standby library settings |
Se sua instância RDS possuir uma instância somente leitura (instância standby), configure as tarefas para ler dados dela. Isso evita que operações de leitura interfiram no desempenho da instância primária. |
|
Instance Address |
Após selecionar a instância correta, clique em Get Latest Address para visualizar informações como endereço público/privado, VPC e vSwitch. |
|
Database |
O nome do banco de dados ao qual a fonte de dados se conecta. Certifique-se de que o usuário especificado tenha as permissões necessárias para acessar este banco de dados. |
|
Access identity |
Selecione a origem da credencial que o DataWorks usa para acessar o MySQL. As seguintes opções são suportadas:
|
|
Support OSS binlog reading |
Se ativado, o DataWorks tenta buscar binlogs no OSS quando os binlogs do RDS estiverem inacessíveis. Isso evita interrupções nas tarefas de sincronização em tempo real. Para mais informações, consulte Configurar autorização para leitura de binlogs do OSS. Com base na sua configuração de autorização, defina a OSS binlog access identity. |
|
Authentication Method |
Selecione sem autenticação ou autenticação SSL. Se optar pela autenticação SSL, certifique-se de que ela também esteja ativada na instância. Prepare o arquivo de certificado e faça upload dele em Authentication File Management. |
|
Version |
Faça login no servidor MySQL e execute a consulta |
Modo string de conexão
Também é possível usar o modo string de conexão para criar uma fonte de dados com maior flexibilidade. Configure os parâmetros conforme descrito abaixo:
|
Parâmetro |
Descrição |
|
Data Source Name |
O nome da fonte de dados deve ser exclusivo dentro do workspace. Recomendamos usar um nome que identifique claramente o negócio e o ambiente, por exemplo, |
|
Configuration Mode |
Selecione User-created Data Store with Public IP Addresses. Neste modo, uma URL JDBC é usada para conectar-se ao banco de dados. |
|
Connection string preview |
Após inserir o endereço de conexão e o nome do banco de dados, o DataWorks gera automaticamente uma prévia da URL JDBC. |
|
Connection Address |
Endereço do host: Insira o endereço de acesso real do servidor de banco de dados. Certifique-se de que o endereço seja acessível via rede pelo grupo de recursos do DataWorks. Cenários comuns incluem:
Se o banco de dados for uma instância Alibaba Cloud RDS, encontre o endereço na página Database Connection nos detalhes da instância. Número da porta: A porta do banco de dados. O valor padrão é 3306. |
|
Database Name |
O nome do banco de dados ao qual a fonte de dados se conecta. Certifique-se de que o usuário especificado tenha as permissões necessárias para acessar este banco de dados. |
|
Access identity |
Selecione a origem da credencial que o DataWorks usa para acessar o MySQL. As seguintes opções são suportadas:
|
|
Version |
Faça login no servidor MySQL e execute a consulta |
|
Authentication Method |
Selecione sem autenticação ou autenticação SSL. Se optar pela autenticação SSL, certifique-se de que ela também esteja ativada na instância. Prepare o arquivo de certificado e faça upload dele em Authentication File Management. |
|
Advanced Parameters |
Parameter: Selecione um parâmetro suportado na lista suspensa, por exemplo, Value: Insira um valor apropriado para o parâmetro selecionado, por exemplo, A URL JDBC será então atualizada automaticamente para: Por exemplo, se encontrar erros relacionados a fuso horário ou precisar especificar um fuso horário, clique em Add Property, selecione |
Certifique-se de que o grupo de recursos do DataWorks possa se conectar ao banco de dados. Caso contrário, as tarefas subsequentes falharão. A configuração de rede depende do ambiente do banco de dados e do modo de conexão da fonte de dados. Para mais informações, consulte Testar conectividade.
Fluxo de trabalho de sincronização MySQL
Para 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.
Configurar sincronização offline de tabela única
Consulte Configuração no modo assistente e Configuração no modo script para ver o procedimento.
Consulte Apêndice: Script de exemplo do MySQL e referência de parâmetros para todos os parâmetros do modo script e um script de exemplo.
Configurar sincronização em tempo real de tabela única
Consulte Configuração de tarefa de sincronização em tempo real (Legado) para ver o procedimento.
Configurar sincronização de banco de dados completo
Consulte Configuração de tarefa de sincronização em tempo real de banco de dados completo para ver o procedimento.
Perguntas frequentes
Erro durante a sincronização em tempo real de uma fonte de dados MySQL
Por que a sincronização em tempo real de uma fonte de dados MySQL fica lenta?
Para outros problemas comuns do Data Integration, consulte Perguntas frequentes do Data Integration.
Apêndice: Exemplos de scripts MySQL e parâmetros
Configurar uma tarefa de sincronização em lote usando o editor de código
Para configurar uma tarefa de sincronização em lote usando o editor de código, configure os parâmetros relacionados no script de acordo com os requisitos unificados de formato de script. Para mais informações, consulte Configuração no modo script. As informações a seguir descrevem os parâmetros que devem ser configurados para fontes de dados ao utilizar o editor de código para uma tarefa de sincronização em lote.
Exemplos de script do Reader
Os exemplos a seguir mostram configurações para uma única tabela em um único banco de dados e para tabelas fragmentadas.
Os comentários nos exemplos JSON a seguir servem apenas para fins de demonstração. Remova-os antes de executar o script.
-
Tabela única em banco de dados único
{ "type": "job", "version": "2.0",// The version number. "steps": [ { "stepType": "mysql",// The connector name. "parameter": { "column": [// The columns to read. "id" ], "connection": [ { "querySql": [ "select a,b from join1 c join join2 d on c.id = d.id;" ], "datasource": ""// The data source name. } ], "where": "",// The filter condition. "splitPk": "",// The shard key. "encoding": "UTF-8"// The encoding format. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "setting": { "errorLimit": { "record": "0"// The maximum number of allowed dirty data records. }, "speed": { "throttle": true,// Set to true to enable rate limiting. If false, rate limiting is disabled and the 'mbps' parameter is ignored. "concurrent": 1,// The number of concurrent threads. "mbps": "12"// The rate limit. 1 mbps = 1 MB/s. } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } } -
Tabelas fragmentadas
NotaO MySQL Reader pode ler dados de várias tabelas MySQL com o mesmo esquema. Neste contexto, "tabelas fragmentadas" refere-se a um cenário onde dados de múltiplas tabelas de origem são gravados em uma única tabela de destino. Para sincronizar tabelas fragmentadas no nível do banco de dados, crie uma tarefa no Data Integration e selecione o recurso de fragmentação de banco de dados completo.
{ "type": "job", "version": "2.0", "steps": [ { "stepType": "mysql", "parameter": { "indexes": [ { "type": "unique", "column": [ "id" ] } ], "envType": 0, "useSpecialSecret": false, "column": [ "id", "buyer_name", "seller_name", "item_id", "city", "zone" ], "tableComment": "Test order table", "connection": [ { "datasource": "rds_dataservice", "table": [ "rds_table" ] }, { "datasource": "rds_workshop_log", "table": [ "rds_table" ] } ], "where": "", "splitPk": "id", "encoding": "UTF-8" }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": {}, "name": "Writer", "category": "writer" }, { "name": "Processor", "stepType": null, "category": "processor", "copies": 1, "parameter": { "nodes": [], "edges": [], "groups": [], "version": "2.0" } } ], "setting": { "executeMode": null, "errorLimit": { "record": "" }, "speed": { "concurrent": 2, "throttle": false } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }
Parâmetros do Reader
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
datasource |
Nome da fonte de dados de leitura. Deve corresponder a uma fonte de dados configurada no editor de código. |
Sim |
Nenhum |
|
table |
Nome da tabela de origem a ser sincronizada. Uma tarefa do Data Integration só pode ler dados de uma tabela lógica por vez. Os exemplos a seguir mostram como usar padrões avançados para o parâmetro
Nota
A tarefa lê as colunas especificadas no parâmetro |
Sim |
Nenhum |
|
column |
Array JSON que especifica as colunas a serem lidas da tabela de origem. Para selecionar todas as colunas, use
|
Sim |
Nenhum |
|
splitPk |
Quando o MySQL Reader extrai dados, especificar o parâmetro
|
Não |
Nenhum |
|
splitFactor |
Fator de fragmentação. Controla quantos shards são criados. Se a concorrência estiver ativada, os dados serão divididos em Nota
Intervalo recomendado: 1 a 100. Um valor muito alto pode causar erro de falta de memória (OOM). |
Não |
5 |
|
where |
Condição de filtro. Em um cenário típico, para sincronizar apenas os dados do dia atual, defina a condição
|
Não |
Nenhum |
|
querySql (Disponível apenas no editor de código; não suportado na interface visual.) |
Em alguns casos, o parâmetro Nota
O parâmetro |
Não |
Nenhum |
|
useSpecialSecret |
Especifica se deve usar a senha individual de cada fonte de dados quando múltiplas fontes forem configuradas. Valores válidos:
Se múltiplas fontes de dados tiverem nomes de usuário e senhas diferentes, defina este parâmetro como true para usar as credenciais de cada respectiva fonte de dados. |
Não |
false |
Exemplo de script do Writer
{
"type": "job",
"version": "2.0",// The version number.
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "mysql",// The connector name.
"parameter": {
"postSql": [],// The SQL statements to run after the task.
"datasource": "",// The data source name.
"column": [// The columns to write to.
"id",
"value"
],
"writeMode": "insert",// The write mode. Valid values: insert, replace, and update.
"batchSize": 1024,// The number of records per batch.
"table": "",// The destination table name.
"nullMode": "skipNull",// The policy for handling NULL values.
"skipNullColumn": [// The columns for which to skip NULL values.
"id",
"value"
],
"preSql": [
"delete from XXX;"// The SQL statements to run before the task.
]
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {// The maximum number of allowed dirty data records.
"record": "0"
},
"speed": {
"throttle": true,// Set to true to enable rate limiting. If false, rate limiting is disabled and the 'mbps' parameter is ignored.
"concurrent": 1,// The number of concurrent threads.
"mbps": "12"// The rate limit in MB/s to prevent excessive I/O pressure on the databases. 1 mbps = 1 MB/s.
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parâmetros do Writer
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
datasource |
Nome da fonte de dados de destino. Deve corresponder a uma fonte de dados configurada no editor de código. |
Sim |
Nenhum |
|
table |
Nome da tabela de destino. |
Sim |
Nenhum |
|
writeMode |
Modo de escrita. As opções suportadas correspondem às instruções MySQL
|
Não |
insert |
|
nullMode |
Especifica a política para tratar valores NULL da origem. Valores válidos:
Importante
Quando configurado como skipNull, a tarefa constrói dinamicamente instruções SQL para escrita de dados visando suportar valores padrão no destino. Isso aumenta o número de operações FLUSH e reduz a velocidade de sincronização. No pior cenário, a tarefa executará FLUSH uma vez para cada registro de dados. |
Não |
writeNull |
|
skipNullColumn |
Quando nullMode está definido como skipNull, as colunas especificadas por este parâmetro não são forçadas a Formato: |
Não |
Todas as colunas configuradas para a tarefa. |
|
column |
Colunas de destino para escrita, especificadas como um array JSON de strings. Exemplo: |
Sim |
Nenhum |
|
preSql |
Uma ou mais instruções SQL a serem executadas antes do início da tarefa de sincronização. A interface visual suporta apenas uma instrução, enquanto o editor de código suporta várias. Por exemplo, limpe dados existentes de uma tabela: Nota
Não há suporte para transações em múltiplas instruções SQL. |
Não |
Nenhum |
|
postSql |
Uma ou mais instruções SQL a serem executadas após a conclusão da tarefa de sincronização. A interface visual suporta apenas uma instrução, enquanto o editor de código suporta várias. Por exemplo, adicione uma coluna de timestamp usando a seguinte instrução: Nota
Não há suporte para transações em múltiplas instruções SQL. |
Não |
Nenhum |
|
batchSize |
Número de registros por lote de escrita. Valores maiores reduzem idas e vindas na rede e podem melhorar o throughput, mas definir um valor muito alto pode causar erro de falta de memória (OOM). |
Não |
256 |
|
updateColumn |
Quando |
Não |
Nenhum |