Este tópico descreve como configurar uma tarefa de sincronização em lote agendada periodicamente no Data Integration por meio da interface sem código.
Pré-requisitos
-
Configure as origens e os destinos de dados antes de criar uma tarefa de sincronização em lote. Isso permite selecionar as origens de dados pelo nome durante a configuração da tarefa.
Adquira um grupo de recursos exclusivo do Data Integration que atenda aos requisitos do seu negócio. Para obter mais informações, consulte Use an exclusive resource group for Data Integration.
Estabeleça a conectividade de rede entre o grupo de recursos exclusivo do Data Integration e as origens de dados. Para obter mais informações, consulte Network connectivity solutions.
acesse a página do DataStudio
Faça login no console do DataWorks.
No painel de navegação à esquerda, clique em Workspace list.
Selecione a região do seu workspace, localize o workspace e clique em Data Studio na coluna Actions.
Procedimento
-
Etapa 2: Configure a tarefa de sincronização em lote
Configure a conexão de rede
Selecione os objetos a serem sincronizados
Configure os mapeamentos de campos
Configure o controle de canal
Configure as propriedades de agendamento
Etapa 1: crie um nó de sincronização em lote
crie um workflow. Para obter mais informações, consulte Create a workflow.
-
Crie um nó de sincronização em lote.
Crie um nó de sincronização em lote de uma das seguintes maneiras:
Método 1: Expanda o workflow, clique com o botão direito do mouse em Data integration e escolha .
Método 2: Clique duas vezes no nome do workflow. Na pasta Data integration, arraste o nó Batch Synchronization para a tela do editor de workflow à direita.
Na caixa de diálogo que aparece, configure os parâmetros do nó de sincronização em lote.
Etapa 2: configure a tarefa de sincronização em lote
-
configure a conexão de rede.
Selecione a origem e o destino da tarefa de sincronização em lote, bem como o grupo de recursos para execute a tarefa. Em seguida, teste a conectividade.
O Data Integration também é compatível com a sincronização de dados de bancos de dados e tabelas de origem fragmentados para uma única tabela de destino. Para obter mais informações, consulte Sharding synchronization.
Se a conexão de rede entre a origem de dados e o grupo de recursos falhar, siga as instruções na tela ou consulte Network connectivity solutions para configurar a conectividade.
ImportanteAs opções de configuração variam de acordo com o plugin. O conteúdo a seguir usa configurações comuns como exemplo. Para verificar se um plugin é compatível com uma configuração específica e como configurá-la, consulte a documentação do plugin. Para obter mais informações, consulte
Supported data sources and Reader/Writer plugins
.
-
Clique em Next step para configurar a tarefa de sincronização.
-
Selecione os objetos a serem sincronizados.
Na área de seleção de origem de dados, configure as tabelas de origem e de destino e especifique o escopo de sincronização. Na área
source
à esquerda, selecione um tipo de origem de dados (por exemplo, MySQL), um banco de dados e uma tabela. Na área
Destination
à direita, selecione uma origem de dados de destino (por exemplo, maxcompute) e uma tabela de destino. Em seguida, configure as opções
Clean-up Rule
(por exemplo,
Clean Existing Data Before Writing (Insert Overwrite)
) e
Empty String as Null
. Clique em
Generate Target Table
para criar rapidamente uma tabela de destino.
-
Reader
Ações Descrição Configure o escopo de sincronização - Se você especificar uma condição de filtro na caixa de texto Data Filter, a tarefa de sincronização sincronizará apenas os dados que atendem a essa condição. Também é possível usar parâmetros de agendamento na condição de filtro para que ela mude dinamicamente de acordo com o tempo de agendamento da tarefa. Isso implementa a sincronização incremental de dados. O método para configurar a sincronização incremental varia de acordo com o plugin. Para obter mais informações, consulte Scenario: Configure a batch synchronization task for incremental data.Nota
- Ao clicar em Next para configurar as propriedades de agendamento, atribua valores às variáveis definidas nas configurações do filtro de dados e da tabela de destino. Isso permite gravar dados incrementais ou completos em partições específicas baseadas em tempo na tabela de destino. Para obter mais informações sobre como usar parâmetros de agendamento, consulte Supported formats of scheduling parameters.
- A sintaxe da condição de filtro para sincronização incremental é semelhante à sintaxe padrão de bancos de dados. Durante a sincronização, a tarefa de sincronização em lote concatena uma instrução SQL completa para extrair dados da origem.
- Se você não especificar uma condição de filtro de dados, a tarefa sincronizará todos os dados da tabela por padrão.
Configure uma chave de shard para um banco de dados relacional Especifica o campo de origem para a divisão dos dados. Quando a tarefa de sincronização é executada, ela divide os dados em várias subtarefas com base nessa chave, o que permite a leitura de dados em paralelo e em lotes.Nota- Use a chave primária da tabela como splitPk, pois as chaves primárias geralmente são distribuídas uniformemente, o que ajuda a evitar hotspots de dados nos shards resultantes.
- Atualmente, o splitPk oferece suporte apenas à divisão de dados do tipo inteiro. Não há suporte para strings, floats, datas ou outros tipos de dados. Se você especificar um tipo de dados não compatível, a função splitPk será ignorada e a tarefa usará um único canal para sincronização.
- Se você não especificar o splitPk ou deixá-lo vazio, a tarefa sincronizará os dados em um único canal.
- Nem todos os plugins oferecem suporte a chaves de shard para configurar a lógica de divisão de tarefas. Para obter mais informações, consulte a documentação do seu plugin específico. Para obter mais informações, consulte Supported data sources and Reader/Writer plugins.
- Se você especificar uma condição de filtro na caixa de texto Data Filter, a tarefa de sincronização sincronizará apenas os dados que atendem a essa condição. Também é possível usar parâmetros de agendamento na condição de filtro para que ela mude dinamicamente de acordo com o tempo de agendamento da tarefa. Isso implementa a sincronização incremental de dados. O método para configurar a sincronização incremental varia de acordo com o plugin. Para obter mais informações, consulte Scenario: Configure a batch synchronization task for incremental data.
-
Writer
Ações
Descrição
Configure instruções SQL de pré e pós-sincronização
Algumas origens de dados permitem a execução de instruções SQL no destino antes da gravação dos dados (pré-sincronização) ou após a gravação (pós-sincronização).
Exemplo: o MySQL Writer é compatível com preSql e postSql. Você pode executar comandos MySQL antes ou depois que os dados sejam gravados no MySQL. Por exemplo, na configuração Statement to Execute Before Writing (preSql) do MySQL Writer, insira o comando
truncate table tablenamepara limpar dados antigos de uma tabela antes da gravação de novos dados.Defina o modo de gravação para conflitos
Especifica como lidar com conflitos de gravação, como conflitos de caminho ou de chave primária. As configurações disponíveis dependem da origem de dados e dos recursos do plugin Writer. Para obter detalhes de configuração, consulte a documentação do seu plugin Writer específico.
-
-
Configure os mapeamentos de campos.
Após a configuração dos mapeamentos de campos, a tarefa grava dados dos campos de origem nos campos de destino correspondentes com base nesses mapeamentos.
Durante a sincronização, incompatibilidades de tipo de dados entre os campos de origem e de destino podem gerar dados sujos, causando falhas de gravação. Configure a tolerância para dados sujos na etapa Statement to Execute Before Writing.
NotaSe um campo de origem não for mapeado para um campo de destino, seus dados não serão sincronizados.
Mapeie os campos por nome ou por linha. Também é possível executar as seguintes ações:
-
Atribua valores aos campos de destino: Clique em Channel para adicionar constantes ou variáveis à tabela de destino, como '123' ou '${variable_name}'.
NotaAo clicar em Next para configurar as propriedades de agendamento, atribua valores às variáveis definidas aqui. Para obter mais informações sobre como usar parâmetros de agendamento, consulte
Supported formats of scheduling parameters
.
-
Edite os campos de origem: Clique no ícone

ao lado de um tipo de dados para executar as seguintes ações:
Use funções compatíveis com o banco de dados de origem para processar campos. Por exemplo, use
Max(id)para sincronizar apenas o registro com o ID máximo.Edite manualmente os campos de origem caso alguns campos não sejam buscados automaticamente durante o processo de mapeamento.
NotaO MaxCompute Reader não é compatível com funções.
-
-
Configure o controle de canal.
Configure as definições do canal para controlar várias propriedades do processo de sincronização de dados.
Parâmetro Descrição Add Row O número máximo de threads paralelas para leitura da origem ou gravação no destino. Nota Devido a restrições de recursos e outros fatores, o número real de sessões simultâneas pode não atingir o valor especificado. As cobranças de um grupo de recursos de depuração são baseadas no número real de sessões simultâneas. Para obter mais informações, consulte Performance metrics.Expected Maximum Concurrency A taxa de sincronização de dados. - Rate Limit: Limite a taxa de sincronização para proteger o banco de dados de origem contra carga excessiva. A taxa mínima é de 1 MB/s.
- No Rate Limit: A tarefa é executada na velocidade máxima permitida pelo ambiente de hardware e pelas configurações de simultaneidade.
Nota Essa métrica de tráfego é medida pelo Data Integration e pode não refletir o tráfego real da placa de interface de rede (NIC). Normalmente, o tráfego da NIC é de 1 a 2 vezes o tráfego do canal. A diferença real depende do método de serialização do sistema de armazenamento de dados.Bandwidth Throttling O limiar de dados sujos e seu impacto na tarefa. Importante Uma grande quantidade de dados sujos pode reduzir a velocidade geral de sincronização.- Se não for configurado, a tarefa permitirá dados sujos por padrão e a execução não será afetada.
- Se definido como 0, nenhum dado sujo será permitido. A tarefa falhará se qualquer dado sujo for gerado.
- Se você permitir dados sujos e definir um limiar:
- Se o número de registros de dados sujos estiver dentro do limiar, a tarefa ignorará os dados sujos (eles não serão gravados no destino) e continuará a ser executada.
- Se o número de registros de dados sujos exceder o limiar, a tarefa falhará.
Nota O que são dados sujos? Dados sujos são dados sem significado para o seu negócio, formatados incorretamente ou que causam problemas durante a sincronização. O Data Integration considera um registro como dado sujo se ocorrer um erro ao gravá-lo na origem de dados de destino. Qualquer registro que falhe ao ser gravado é classificado como dado sujo.Por exemplo, se você tentar gravar um valor VARCHAR da origem em uma coluna INT no destino, poderá ocorrer um erro de conversão e a gravação dos dados falhará. Esse registro é considerado dado sujo. Ao configurar uma tarefa de sincronização, controle a permissão de dados sujos e defina um limite para o número de registros de dados sujos. Se o limite for excedido, a tarefa falhará.
Error record count (dirty data control) Especifica se a tarefa deve ser executada no modo distribuído. - Enabled: O modo distribuído divide a tarefa em fatias e as executa simultaneamente em vários nós. Isso permite que a velocidade de sincronização escale horizontalmente com o tamanho do cluster de execução, superando gargalos de máquina única.
- Disabled: A simultaneidade configurada aplica-se apenas a threads em uma única máquina e não aproveita a computação de várias máquinas.
Importante- Se o seu grupo de recursos exclusivo tiver apenas uma máquina, não use o modo distribuído, pois ele não pode aproveitar os recursos de várias máquinas.
- Se uma única máquina já atender aos seus requisitos de velocidade, use o modo de máquina única para simplificar.
- ative o recurso de processamento distribuído apenas se o número de sessões simultâneas for 8 ou maior.
- O suporte para o modo distribuído varia de acordo com a origem de dados. Para obter detalhes, consulte a documentação do seu plugin específico: Supported data sources and Reader/Writer plugins.
NotaAs configurações anteriores, juntamente com o desempenho da origem de dados e o ambiente de rede, afetam a velocidade geral de sincronização. Para obter mais informações sobre o ajuste de velocidade, consulte
Accelerate or throttle batch synchronization tasks
.
-
-
Clique em Distributed Execution para configurar as propriedades de agendamento.
Para uma tarefa de sincronização em lote agendada periodicamente, configure suas propriedades de agendamento automático. Para obter informações sobre como usar parâmetros de agendamento, consulte
Use scheduling parameters in Data Integration
.
Configure node scheduling properties: Atribua parâmetros de agendamento como valores às variáveis usadas nas configurações anteriores. Atribua constantes ou variáveis.
Configure time properties: Defina o agendamento periódico para a tarefa no ambiente de produção. Na seção de propriedades de tempo da configuração de agendamento, configure propriedades como o método de geração de instância, o tipo de agendamento e o ciclo de agendamento.
-
Configure resource properties: Selecione o grupo de recursos de agendamento para despachar a tarefa para o grupo de recursos de execução do Data Integration. Na seção de propriedades de recursos da configuração de agendamento, selecione o grupo de recursos a ser usado para executar a tarefa agendada.
NotaUm grupo de recursos de agendamento despacha tarefas em lote do Data Integration para um grupo de recursos de execução, o que incorre em taxas de agendamento. Para obter mais informações sobre o mecanismo de despacho de tarefas, consulte
.
Clique em Next step.
Etapa 3: Faça o commit e implante a tarefa
Se a tarefa precisar ser executada em um agendamento periódico, implante-a no ambiente de produção. Para obter mais informações sobre a implantação de tarefas, consulte Deploy tasks.
Próximas etapas
Após a implantação da tarefa no ambiente de produção, acesse o Operation Center para visualize a tarefa agendada. Para obter mais informações sobre operações e manutenção (O&M), como executar e gerenciar tarefas, monitorar o status da tarefa e gerenciar grupos de recursos para tarefas de sincronização em lote, consulte
O&M for batch synchronization tasks
.