O Code Editor permite escrever um script JSON para sincronização de dados e usar parâmetros de agendamento do DataWorks para sincronizar periodicamente dados completos ou incrementais de uma única tabela de origem ou de tabelas fragmentadas para uma tabela de destino. As configurações variam conforme a fonte de dados. Para mais detalhes, consulte a lista de fontes de dados.
Notas de uso
Use o Code Editor nos seguintes cenários:
-
A fonte de dados não oferece suporte à configuração no modo assistente.
NotaA interface do usuário indica se uma fonte de dados suporta o modo assistente.
Por exemplo, ao selecionar HBase11xsql como fonte de dados de destino, uma mensagem de aviso amarela aparece na página de configuração de rede e recursos: "The current data source type does not support task editing in wizard mode. The task will be configured in script mode." Nesse caso, clique em no botão Code Editor na barra de ferramentas para alternar os modos e configurar a tarefa.
Alguns parâmetros de configuração da fonte de dados estão disponíveis apenas no Code Editor.
O Code Editor permite configurar certas fontes de dados que não podem ser criadas diretamente no DataWorks.
Pré-requisitos
-
Certifique-se de que as fontes de dados de origem e de destino necessárias estejam configuradas no DataWorks. Para mais informações, consulte a Lista de fontes de dados.
NotaPara obter mais informações sobre as fontes de dados compatíveis com sincronização em lote e suas configurações, consulte Fontes de dados e soluções de sincronização suportadas.
Para saber mais sobre os recursos das fontes de dados, consulte Configuração de fonte de dados.
Adquira um grupo de recursos com especificações adequadas e associe-o ao workspace. Para mais informações, consulte Usar grupos de recursos serverless.
Estabeleça conectividade de rede entre o grupo de recursos e as fontes de dados. Para mais informações, consulte Configurar conectividade de rede.
Etapa 1: Criar um nó de sincronização em lote
Data Studio (new version)
Faça login no console do DataWorks. No painel de navegação à esquerda, escolha . Selecione o workspace desejado na lista suspensa e clique em <p><a href={url} target="_blank">Learn more.</a></p>Data Studio.
Crie um workflow. Para mais informações, consulte Workflows.
-
Crie um nó de Data Integration de uma das seguintes maneiras:
Método 1: No canto superior direito da lista de workflows, clique em
e escolha .Método 2: Clique duas vezes no nome do workflow e arraste o nó Data Integration do diretório Data Integration para o painel de edição do workflow à direita.
Configure os tipos de origem e destino para o nó, selecione Single Table Batch Sync como tipo específico e clique em OK para concluir a criação.
Legacy Data Studio
Faça login no console do DataWorks. No painel de navegação à esquerda, escolha . Selecione o workspace desejado na lista suspensa e clique em Data Analytics.
Crie um workflow. Para mais informações, consulte Criar um workflow.
-
Crie um nó de sincronização em lote de uma das seguintes formas:
Método 1: Expanda o workflow, clique com o botão direito em .
Método 2: Clique duas vezes no nome do workflow e arraste o nó Batch Synchronization do diretório Data Integration para o painel de edição do workflow à direita.
Siga as instruções na tela para criar um nó de sincronização em lote.
Etapa 2: Configurar a fonte de dados e o grupo de recursos
É possível alternar do modo assistente para o modo de script em qualquer etapa. Para uma configuração completa de script, recomendamos a seguinte abordagem:
Primeiro, use o assistente para selecionar a fonte de dados e o grupo de recursos e teste a conectividade de rede.
Em seguida, alterne para o modo de script.
O sistema preenche automaticamente essas informações no script JSON gerado.
Alternativamente, alterne diretamente e configure manualmente as definições no modo de script: especifique a fonte de dados no código JSON e defina o grupo de recursos e o tamanho necessário de recursos no painel Advanced Settings à direita.
Se você criou um grupo de recursos, mas ele não aparece aqui, verifique se o grupo foi associado ao workspace. Para mais informações, consulte Criar e gerenciar um grupo de recursos exclusivo para Data Integration e Criar e gerenciar um grupo de recursos serverless.
Para configurações recomendadas de cota de recursos, consulte Métricas de desempenho do grupo de recursos - Data Integration.
Etapa 3: Alternar para o modo de script e importar um modelo
Clique em no ícone Convert to Script
na barra de ferramentas.
Se o script ainda não estiver configurado, clique em no ícone
na barra de ferramentas para importar rapidamente um modelo de script seguindo as instruções na tela.
Etapa 4: Editar o script para configurar a tarefa de sincronização
Configurações comuns do modo de script:
Os campos de tipo e versão são valores padrão e não podem ser modificados.
Ignore a configuração relacionada ao Processor no 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
},
"timeZone":"Asia/Shanghai"
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
-
Configure as informações básicas e os mapeamentos de colunas para o reader e o writer.
ImportanteAs configurações variam para diferentes plug-ins. O conteúdo a seguir descreve apenas configurações comuns como exemplos. A compatibilidade de um plug-in com uma configuração específica e a forma de implementação dependem do próprio plug-in. Para detalhes, consulte o Reader Script Demo e o Writer Script Demo de cada fonte de dados na lista de fontes de dados.
Ao configurar esses parâmetros, você pode:
-
Reader
Configuração
Descrição
where (configurar o escopo de sincronização)
Algumas fontes suportam filtragem de dados. É possível especificar uma condição (uma cláusula
WHERE, sem precisar incluir a palavra-chave where) para filtrar os dados de origem. Durante a execução da tarefa, apenas os dados que atendem à condição são sincronizados. Para mais informações, consulte Configurar uma condição de filtro.Para implementar sincronização incremental, combine a condição de filtro com parâmetros de agendamento para torná-la dinâmica. Por exemplo, ao usar
gmt_create >= '${bizdate}', a tarefa sincroniza apenas os dados adicionados recentemente a cada dia. Também é necessário atribuir um valor à variável definida aqui ao definir as configurações de agendamento. Para mais informações, consulte Configurar parâmetros de agendamento.O método de configuração de sincronização incremental varia conforme a fonte de dados (plug-in).
Se nenhuma condição de filtro de dados for configurada, todos os dados da tabela serão sincronizados por padrão.
splitPk (configurar a chave de divisão para bancos de dados relacionais)
Especifica a coluna usada para dividir os dados de origem para leitura paralela. Durante a execução da tarefa, os dados são divididos em múltiplas subtarefas com base nessa coluna para leituras em lote concorrentes.
-
Recomendamos usar a chave primária como valor de splitPk, pois chaves primárias geralmente têm distribuição uniforme, o que ajuda a evitar hotspots de dados.
-
Atualmente, o splitPk suporta apenas divisão baseada em inteiros. Outros tipos, como strings, números de ponto flutuante e datas, não são suportados. Se você especificar um tipo não suportado, o recurso splitPk será ignorado e os dados serão sincronizados por um único canal.
-
Se o splitPk não for especificado, inclusive quando o parâmetro não for fornecido ou estiver vazio, a sincronização ocorrerá por um único canal.
-
Nem todos os plug-ins suportam configuração de chave de divisão. As informações anteriores são apenas um exemplo. Para detalhes, consulte a documentação específica do plug-in. Para mais informações, visualize Fontes de dados e soluções de sincronização suportadas.
column (definir colunas de origem)
Defina as colunas a serem sincronizadas da origem no array column. Você também pode escrever constantes, variáveis e funções como colunas personalizadas para o destino, como '123', '${variable_name}' e 'now()'.
-
-
Writer
Configuração
Descrição
preSql & postSql (configurar instruções SQL pré e pós-sincronização)
Algumas fontes de dados permitem executar instruções SQL no destino antes da sincronização (antes da escrita) e após a sincronização (após a escrita).
Exemplo: O MySQL Writer suporta configuração de preSql e postSql, permitindo executar comandos MySQL antes ou depois que os dados forem gravados no MySQL. Por exemplo, configure o comando truncate table do MySQL
truncate table tablenamena definição Pre-import Preparation Statement (preSql) do MySQL Writer para limpar dados antigos da tabela antes da sincronização (antes de gravar dados no MySQL).writeMode (definir o modo de escrita para conflitos)
Especifica o modo de escrita quando ocorrem conflitos, como conflitos de caminho ou chave primária. Isso varia conforme a fonte de dados e o plug-in do writer. Consulte a documentação específica do plug-in do writer para obter detalhes.
-
-
Controle de Canal.
Configure as definições de eficiência na seção setting, incluindo concorrência, velocidade de sincronização e tratamento de dados incorretos.
Parâmetro
Descrição
executeMode (processamento distribuído)
Controla se o modo distribuído deve ser ativado.
-
distribute: Ativa o processamento distribuído. A tarefa é dividida em fatias distribuídas para vários nós de execução para processamento simultâneo, permitindo que a velocidade de sincronização escale horizontalmente com o tamanho do cluster além dos limites de um único nó.
-
null: Desativa o processamento distribuído. A concorrência configurada aplica-se apenas à concorrência no nível de processo em um único nó, e o uso de computação multinó não é possível.
Importante-
Se o seu grupo de recursos exclusivo para Data Integration tiver apenas um nó, o modo distribuído não é recomendado, pois não aproveitará recursos de múltiplos nós.
-
Caso um único nó atenda aos seus requisitos de velocidade, recomenda-se o modo de nó único pela simplicidade.
-
A concorrência deve ser igual ou superior a 8 para ativar o processamento distribuído.
-
Algumas fontes de dados suportam o modo distribuído para execução de tarefas. Para detalhes, consulte a documentação específica do plug-in.
-
Ativar o processamento distribuído consome mais recursos. Se ocorrer um erro de falta de memória (OOM) durante a execução, tente desativar esta opção.
concurrent (concorrência máxima esperada)
Define o número máximo de threads para leitura paralela da origem ou gravação no destino.
NotaDevido a fatores como especificações de recursos, a concorrência real pode ser menor ou igual ao valor configurado. O grupo de recursos de depuração é faturado com base na concorrência real. Para mais informações, consulte Faturamento.
throttle (velocidade de sincronização)
Controla a velocidade de sincronização.
-
true: Ativa o limitador de velocidade. Isso protege o banco de dados de origem limitando a velocidade de extração para evitar sobrecarga. A taxa mínima de limitação é 1 MB/s.
NotaQuando throttle está definido como true, você também precisa definir o parâmetro mbps (velocidade de sincronização).
-
false: Desativa o limitador de velocidade. A tarefa entrega o desempenho máximo de transferência que o ambiente de hardware permite dentro do limite de concorrência configurado.
NotaA métrica de throughput é uma medida interna do Data Integration e não representa o tráfego real da NIC. Normalmente, o tráfego da NIC é de 1 a 2 vezes o tráfego do canal. A proporção real depende do mecanismo de serialização do sistema de armazenamento de dados.
errorLimit (controle de contagem de erros)
Define o limiar de dados incorretos e como isso afeta a tarefa.
ImportanteDados incorretos em excesso podem afetar a velocidade geral de sincronização da tarefa.
-
Se não configurado, dados incorretos são permitidos por padrão e não afetam a execução da tarefa.
-
Se definido como 0, nenhum dado incorreto é permitido. A tarefa falhará se dados incorretos forem gerados durante a sincronização.
-
Se dados incorretos forem permitidos e um limiar for definido:
-
Se os dados incorretos estiverem dentro do limiar, a tarefa de sincronização ignora esses dados (não os grava no destino) e continua normalmente.
-
Se os dados incorretos excederem o limiar, a tarefa de sincronização falhará.
-
NotaCritérios de dados incorretos: Dados incorretos são aqueles sem significado comercial, com formato inválido ou que encontram problemas durante a sincronização. Se ocorrer uma exceção ao gravar um registro no destino, esse registro é considerado dado incorreto.
Por exemplo, gravar dados VARCHAR da origem em uma coluna INT no destino resulta em dados incorretos devido a uma conversão de tipo inválida. Você pode controlar se dados incorretos são permitidos durante a configuração da tarefa de sincronização e definir uma contagem máxima de erros para que a tarefa falhe quando a quantidade de dados incorretos exceder o limite especificado.
timeZone (configuração de fuso horário)
Especifica o fuso horário para a tarefa de sincronização. Esta configuração entra em vigor quando colunas do tipo tempo são convertidas na origem ou no destino. O Data Integration lê e grava colunas de tempo com base no fuso horário especificado.
Exemplo de configuração:
"timeZone":"Asia/Shanghai".-
Este parâmetro só pode ser configurado na seção setting no modo de script. O destino no modo assistente (UI sem código) não suporta configurações de fuso horário.
-
O valor do fuso horário usa o formato padrão IANA, como
Asia/ShanghaieAmerica/New_York. -
Se não configurado, o Data Integration usa o fuso horário padrão do sistema.
NotaA velocidade geral de sincronização também é afetada pelo desempenho da fonte de dados de origem, ambiente de rede e outros fatores. Para mais informações, consulte Ajustar tarefas de sincronização em lote.
-
Etapa 5: Configurar definições de agendamento
Para uma tarefa de sincronização em lote de tabela única com agendamento periódico, configure as propriedades para agendamento automático. Acesse a página de edição do nó, clique em Scheduling Settings no lado direito e configure as definições de agendamento para o nó.
Configure os parâmetros de agendamento, políticas de agendamento, horário de agendamento e dependências para a tarefa de sincronização. O método de configuração é o mesmo utilizado para outros nós de desenvolvimento de dados e não será descrito aqui.
Para configurações de agendamento na nova versão do Data Studio, consulte Agendamento de nós (nova versão).
Para configurações de agendamento no Legacy Data Studio, consulte Agendamento de nós (legado).
Para mais informações sobre o uso de parâmetros de agendamento, consulte Cenários típicos de parâmetros de agendamento no Data Integration .
Etapa 6: Enviar e implantar a tarefa
-
Configure os parâmetros de execução.
No lado direito da página de configuração da tarefa de sincronização em lote de tabela única, clique em Run Configuration e configure os seguintes parâmetros para execuções de teste.
Item de configuração
Descrição
Resource Group
Selecione um grupo de recursos que tenha conectividade de rede com as fontes de dados.
Script Parameters
Atribua valores aos parâmetros de espaço reservado na tarefa de sincronização de dados. Por exemplo, se a tarefa do Data Integration usar o parâmetro
${bizdate}, configure um parâmetro de data no formatoyyyymmdd. -
Execute a tarefa.
Clique em no botão Run
na barra de ferramentas para executar e depurar a tarefa no Data Studio. Em seguida, crie um nó do tipo de tabela de destino correspondente para consultar os dados da tabela de destino e verificar se os dados sincronizados atendem às expectativas. -
Implante a tarefa.
Após a tarefa passar na execução de teste, se ela precisar ser executada periodicamente, clique em no botão
na parte superior da página de edição do nó para implantar a tarefa no ambiente de produção. Para mais informações sobre implantação de tarefas, consulte Implantar tarefas.
Próxima etapa
Depois que a tarefa for implantada no ambiente de produção, acesse o Operation Center no ambiente de produção para visualizar a tarefa agendada. Para mais informações sobre execução e gerenciamento de tarefas do Data Integration, monitoramento de status de tarefas e gerenciamento de grupos de recursos, consulte O&M de tarefas do Data Integration.