Este tópico descreve como configurar uma tarefa de sincronização em lote para execução periódica usando o modo script no Data Integration.
Pré-requisitos
-
Antes de configurar uma tarefa de sincronização em lote, configure as origens e os destinos de dados. Isso permite selecioná-los pelo nome durante a configuração da tarefa. Para obter mais informações sobre as origens de dados compatíveis e seus plugins Reader e Writer, consulte Origens de dados e plugins Reader e Writer compatíveis.
NotaPara obter mais informações sobre origens de dados, consulte
Visão geral das origens de dados
.
Adquira um grupo de recursos exclusivo para o Data Integration. Para obter mais informações, consulte Usar um grupo de recursos exclusivo para o Data Integration.
Estabeleça uma conexão de rede entre o grupo de recursos exclusivo do Data Integration e a origem de dados. Para obter mais informações, consulte Soluções de conectividade de rede.
Acessar a página 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 desejado e clique em Data Studio na coluna Actions.
Procedimento
-
Etapa 2: Configurar a tarefa de sincronização em lote
Configurar o link de rede de sincronização
Alternar para o modo script e importar um modelo
Edite o script para configurar a origem de dados, o destino, o limite de taxa de transmissão e as regras de tratamento de dados incorretos
Configurar propriedades de agendamento
Etapa 1: Criar um nó de sincronização em lote
Crie um workflow. Para obter mais informações, consulte Criar um workflow.
-
Crie um nó de sincronização em lote.
Crie um nó de sincronização em lote de duas maneiras:
Método 1: Expanda o workflow, clique com o botão direito 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 exibida, configure os parâmetros do nó de sincronização em lote.
Etapa 2: Configurar a tarefa de sincronização em lote
-
Configure o link de rede de sincronização.
Selecione as origens e os destinos de dados, além do grupo de recursos para a tarefa. Em seguida, teste a conectividade.
NotaSincronize dados de bancos de dados e tabelas fragmentados na origem para uma única tabela no destino. Para obter mais informações, consulte Sincronizar dados de bancos de dados e tabelas fragmentados.
Se a conexão de rede falhar entre a origem de dados e o grupo de recursos, siga as instruções na tela ou a documentação para configurar a conectividade de rede. Para obter mais informações, consulte Soluções de conectividade de rede.
-
Alterne para o modo script.
Clique no ícone
Switch to script
na barra de ferramentas.
Se nenhum script estiver configurado, clique no ícone
na barra de ferramentas e siga as instruções para importar um modelo de script. -
Edite o script para configurar a tarefa de sincronização.
O código a seguir mostra a configuração geral de um script no modo script:
NotaOs campos
typeeversionpossuem valores padrão e não podem ser modificados.Ignore a configuração
Processorno script. Nenhuma configuração é necessária.
{ "type": "job", "version": "2.0", "steps": [ { "stepType": "plugin_name", "parameter": {...}, "name": "Reader", "category": "reader" }, { "stepType": "plugin_name", "parameter": {...}, "name": "Writer", "category": "writer" }, { "name": "Processor", "stepType": null, "category": "processor", "copies": 1, "parameter": {...} } ], "setting": { "executeMode": null, "errorLimit": { "record": "" }, "speed": { "concurrent": 2, "throttle": false } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }-
Configure as informações básicas e os mapeamentos de campos para o Reader e o Writer.
A configuração desses parâmetros permite realizar as operações a seguir. Para detalhes, consulte a documentação de cada plugin:
Origens de dados e plugins Reader e Writer compatíveis
.
-
Reader
Ações Descrição Configurar escopo de sincronização Alguns plugins aceitam parâmetros de filtro para sincronização incremental. Por exemplo, ao usar o plugin MySQL Reader para sincronizar dados do MySQL, utilize o parâmetro where em conjunto com os parâmetros de agendamento do DataWorks para implementar a sincronização incremental. Para obter mais informações, consulte Cenário: Configurar uma tarefa de sincronização em lote incremental. Nota- O suporte a sincronização incremental e sua implementação variam conforme o plugin. Consulte a documentação do plugin específico para obter detalhes.
- Ao utilizar um plugin compatível com sincronização incremental sem especificar uma condição de filtro de dados, o sistema executa uma sincronização completa de dados por padrão.
- Durante a configuração das propriedades de agendamento, atribua valores às variáveis definidas nas configurações de filtro de dados e tabela de destino. Isso permite gravar dados incrementais ou completos nas partições de tempo correspondentes na tabela de destino. Para obter mais informações sobre parâmetros de agendamento, consulte Formatos compatíveis de parâmetros de agendamento.
- A sintaxe das condições de filtro para sincronização incremental é praticamente idêntica à sintaxe do banco de dados. Durante a sincronização, a tarefa em lote monta uma instrução SQL completa para extrair dados da origem.
Configurar uma chave de fragmentação para banco de dados relacional Especifique o campo nos dados de origem a ser usado para fragmentação. A tarefa se divide em várias subtarefas com base nesse campo para ler dados em paralelo.Nota- Recomendamos usar a chave primária da tabela como valor de
splitPk. Uma chave primária geralmente possui distribuição uniforme de dados, o que ajuda a evitar hotspots de dados nos shards. - Atualmente,
splitPkaceita apenas fragmentação baseada em inteiros. Outros tipos, como strings, floats ou datas, não são suportados. Se você especificar uma coluna de tipo não suportado, o sistema ignorará o parâmetrosplitPke a tarefa sincronizará dados usando um único canal. - Caso
splitPknão seja especificado ou seu valor esteja vazio, a sincronização de dados ocorrerá por meio de um único canal. - Nem todos os plugins permitem especificar uma chave de fragmentação para configurar a lógica de divisão da tarefa. As informações fornecidas servem apenas como exemplo. Para detalhes, consulte a documentação do plugin específico. Para obter mais informações, visualize Origens de dados e plugins Reader e Writer compatíveis.
Atribuir valores aos campos de destino Adicione colunas à saída preenchidas com valores constantes ou variáveis, como '123' ou '${variable_name}'. Atribua valores às variáveis definidas aqui ao configurar as propriedades de agendamento na próxima etapa. Para obter mais informações sobre parâmetros de agendamento, consulte Formatos compatíveis de parâmetros de agendamento. Edite campos da tabela de origem 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 valor máximo de ID.Nota O MaxCompute Reader não oferece suporte a funções. -
Writer
Ações
Descrição
Configurar instruções SQL pré e pós-sincronização
Algumas origens de dados permitem executar instruções SQL no destino antes e depois da gravação dos dados.
Exemplo: O MySQL Writer aceita a configuração de preSql e postSql, permitindo executar comandos MySQL antes ou após a gravação de dados no MySQL. Por exemplo, no parâmetro Pre-SQL Statement (preSql), especifique o comando
truncate table tablenamepara limpar dados antigos de uma tabela antes do início da tarefa de sincronização.Configurar o modo de gravação para conflitos
Defina como lidar com conflitos, como conflitos de caminho ou chave primária, ao gravar dados no destino. As opções disponíveis dependem da origem de dados de destino e do plugin Writer. Para detalhes de configuração, consulte a documentação do plugin Writer específico.
-
-
Controle de canal.
Configure definições de desempenho na seção
setting
, como simultaneidade, taxa de transmissão e tratamento de dados incorretos.
Parâmetro Descrição executeMode (capacidade de processamento distribuído) Determina se a tarefa executa em modo distribuído. distribute: Ativa o modo distribuído. Nesse modo, a tarefa é dividida e distribuída entre vários nós de execução para rodar em paralelo. Isso permite que a velocidade de sincronização escale horizontalmente com o tamanho do cluster, superando gargalos de desempenho de nó único.null: Desativa o modo distribuído. A simultaneidade configurada fica limitada aos threads de um único nó, e a tarefa não consegue aproveitar o poder computacional de várias máquinas.
Importante- Se o seu grupo de recursos exclusivo para Data Integration tiver apenas uma máquina, não utilize o modo distribuído.
- Caso uma única máquina já atenda aos seus requisitos de desempenho, recomendamos usar o modo de nó único para simplificar a execução da tarefa.
- O modo distribuído só pode ser ativado quando a simultaneidade for definida como 8 ou superior.
- O suporte ao modo distribuído varia conforme a origem de dados. Para detalhes, consulte a documentação do plugin específico.
concurrent (simultaneidade máxima esperada) Especifique o número máximo de threads simultâneos para leitura na origem e gravação no destino. Nota Devido a fatores como especificações de recursos, a simultaneidade real durante a execução pode ser menor ou igual ao valor configurado. O faturamento é baseado na simultaneidade efetivamente utilizada. Para obter mais informações, consulte Métricas de desempenho.throttle (taxa de transmissão) Controla a taxa de transmissão. true: Ativa o limitador. Isso protege o banco de dados de origem contra sobrecarga excessiva, limitando a velocidade de extração de dados. A taxa mínima é de 1 MB/s.Nota Se você definirthrottlecomo true, também deverá definir o parâmetro mbps para especificar a taxa máxima de transmissão.false: Desativa o limitador. A tarefa utiliza a largura de banda máxima disponível com base no ambiente de hardware e na simultaneidade configurada.
Nota A taxa de transmissão é uma métrica interna do Data Integration e não representa o tráfego real da placa de interface de rede (NIC). Normalmente, o tráfego da NIC é de uma a duas vezes o tráfego do canal, dependendo da serialização de dados do sistema de armazenamento.errorLimit (controle de registros com erro) Defina a tolerância para dados incorretos. Importante Uma quantidade excessiva de dados incorretos pode degradar a velocidade geral de sincronização.- Se este parâmetro não for configurado, o sistema permitirá dados incorretos por padrão e a tarefa continuará executando mesmo que dados incorretos sejam gerados.
- Se este parâmetro for definido como
0, nenhum dado incorreto será permitido. A tarefa falhará se qualquer dado incorreto for gerado. - Se você permitir dados incorretos e definir um limiar:
- Quando o número de registros de dados incorretos estiver dentro do limiar, o sistema ignorará os registros (não gravados no destino) e a tarefa continuará executando normalmente.
- Se o número de registros de dados incorretos exceder o limiar, a tarefa falhará.
Nota O que são dados incorretos? Dados incorretos são dados sem significado para o seu negócio, com formato inválido ou que causam erro durante a sincronização. Qualquer registro que falhe ao gravar na origem de dados de destino é considerado dado incorreto.Por exemplo, se você tentar gravar dados VARCHAR da origem em uma coluna INT no destino, ocorrerá um erro de conversão e o registro não será gravado. Esse registro é considerado dado incorreto. Configure a permissão de dados incorretos e defina um limite para a quantidade de registros desse tipo. Se o número de registros incorretos exceder o limite especificado, a tarefa falhará.
NotaAlém dessas configurações, a velocidade geral de sincronização é afetada por fatores como o desempenho da origem de dados e o ambiente de rede. Para obter mais informações sobre taxas de transmissão e ajuste de desempenho, consulte
Acelerar ou limitar a velocidade de uma tarefa de sincronização em lote
.
-
Clique em Next para configurar as propriedades de agendamento.
Para executar uma tarefa de sincronização em lote periodicamente, configure suas propriedades de agendamento. Para obter mais informações sobre parâmetros de agendamento, consulte
Usar parâmetros de agendamento no Data Integration
.
Configurar propriedades de agendamento do nó: Atribua parâmetros de agendamento às variáveis definidas nas etapas anteriores. Atribua tanto constantes quanto variáveis.
Configurar propriedades de tempo: Defina como a tarefa será agendada periodicamente no ambiente de produção. Configure propriedades como modo de geração de instância, tipo de agendamento e ciclo de agendamento.
-
Configurar propriedades de recursos: Defina o grupo de recursos de agendamento usado para enviar a tarefa ao grupo de recursos de execução do Data Integration. Selecione o grupo de recursos para execução da tarefa nesta seção.
NotaUm grupo de recursos de agendamento envia uma tarefa em lote do Data Integration para o grupo de recursos de execução correspondente do Data Integration. Esse processo gera taxas relacionadas ao agendamento. Para obter mais informações sobre o mecanismo de envio, consulte
Visão geral dos grupos de recursos do DataWorks
.
Etapa 3: Enviar e publicar a tarefa
Se a tarefa precisar ser executada em um cronograma periódico, implante-a no ambiente de produção. Para obter mais informações sobre a implantação de tarefas, consulte Implantar tarefas.
Próximas etapas
Após implantar a tarefa no ambiente de produção, acesse o Operation Center para visualizar a tarefa agendada. Para obter mais informações sobre operações e manutenção (O&M), como execução e gerenciamento de tarefas, monitoramento de status de tarefas e gerenciamento de grupos de recursos para tarefas de sincronização em lote, consulte
O&M para tarefas de sincronização em lote
.