Vários fatores, além do horário agendado configurado no DataStudio, influenciam a execução de uma tarefa. Isso inclui os horários de agendamento e conclusão das instâncias ancestrais, bem como os recursos disponíveis em seu grupo de recursos. Este tópico descreve como usar o recurso de diagnóstico de execução para identificar rapidamente por que uma tarefa não é executada com sucesso.
Pré-requisitos
Certifique-se de que há uma instância acionada automaticamente. O DataWorks executa tarefas agendadas automaticamente como instâncias acionadas automaticamente. O Instance Generation Mode configurado para o nó no DataStudio determina como o sistema gera uma nova instância acionada automaticamente.
Informações de contexto
No Operation Center, determine o estágio de execução de uma tarefa ou identifique a causa de uma falha de execução com base no status, na cor e no ícone da instância. Para mais informações, consulte visualize the log data.
Cores e ícones das instâncias: O Operation Center usa cores e ícones diferentes para indicar o estágio da tarefa no processo de execução. Cada cor e ícone corresponde a um status de execução específico, conforme descrito na tabela a seguir.
Status de execução da instância: verifique também por que uma tarefa não foi executada ao visualizar o parâmetro Node Status na guia Property da página de detalhes da instância.
|
Nº |
Status |
Ícone |
Fluxograma |
|
1 |
Executado com sucesso |
|
|
|
2 |
Não executado |
|
|
|
3 |
Falha na execução |
|
|
|
4 |
Em execução |
|
|
|
5 |
Tempo de espera |
|
|
|
6 |
Congelado |
|
Se uma instância ancestral permanecer no status Em execução por um período prolongado, use uma das seguintes soluções.
Se um nó de sincronização não em lote permanecer em execução e for necessário descobrir a causa,obtenha suporte pelo DingTalk. Primeiro, clique em este link para entrar no grupo "Alibaba Cloud Big Data & AI Platform". Em seguida, digitalize o código QR para entrar no grupo do product DataWorks e peça ajuda ao assistente inteligente ou à equipe de plantão.

Se um nó de sincronização em lote permanecer em execução, ele pode estar aguardando recursos de execução ou com processamento lento. Para mais informações, consulte How to troubleshoot long-running batch synchronization nodes.
Como acessar o diagnóstico de execução
Se o DataWorks não executar uma tarefa ou se a execução falhar, localize a instância com problema (como uma auto triggered instance, data backfill instance ou test instance) no Operation Center. Em seguida, clique em Execute diagnostics no lado direito da página de detalhes da instância para abrir a página de diagnóstico de execução e identificar rapidamente o motivo da falha de execução da tarefa. A figura a seguir ilustra o procedimento.
Fluxo de trabalho do diagnóstico de execução de tarefas
O sucesso da execução de uma tarefa depende de vários fatores, como suas dependências upstream, horário agendado, grupo de recursos e seu próprio status de execução. Se uma tarefa demorar muito para executar ou falhar na execução, use o recurso de diagnóstico de execução do DataWorks e siga o fluxo de trabalho abaixo para identificar a causa.
Na página Execute diagnostics, realize as seguintes verificações:
|
Item de verificação |
Descrição |
|
Após a configuração das dependências de um nó, o nó só executa após a conclusão de todas as suas tarefas dependentes. Visualize a etapa Upstream Nodes na guia Operation Details para localizar instâncias ancestrais com problema. |
|
|
O node scheduling time configured no DataStudio é o horário de execução esperado para a tarefa. Visualize a etapa Timing Check na guia Operation Details para determinar se o horário de execução agendado foi atingido. Se todas as instâncias ancestrais do nó atual executarem com sucesso, ou seja, após a geração dos dados dos quais ele depende, o nó verifica se o próprio horário agendado foi atingido para decidir se executa imediatamente. |
|
|
Normalmente, o sistema agenda um nó somente após duas condições serem atendidas: todas as suas instâncias ancestrais foram concluídas e o horário agendado do nó atual foi atingido. No entanto, como os recursos de agendamento são limitados, se o grupo de recursos para agendamento não tiver recursos suficientes para executar a tarefa atual, a tarefa aguarda recursos de agendamento. Visualize a etapa Resources na guia Operation Details para verificar o uso de recursos. |
|
|
Quando as condições anteriores são atendidas, o DataWorks despacha a tarefa para um recurso ou service de execução. Se a tarefa falhar, visualize a etapa Execution na guia Operation Details para localizar rapidamente a causa da falha. |
|
|
Para tarefas com monitoramento e alerta configurados, visualize as guias General, Influenced Baseline e Historical instance na página Run Diagnostics para ver as regras ou baselines que monitoram a tarefa e verificar seu status de acionamento. |
Dependências upstream
Esta seção ajuda a entender como uma instância ancestral afeta a execução da tarefa atual e como localizar as principais instâncias ancestrais que bloqueiam a tarefa atual.
Impacto das instâncias ancestrais
Após a configuração das dependências de um nó, o nó executa somente depois que todas as suas instâncias ancestrais forem concluídas. Os impactos de uma instância ancestral na tarefa atual são os seguintes:
-
O sucesso de uma instância ancestral determina se a tarefa atual executará
Após a configuração das dependências do nó, o sistema estabelece uma dependência de dados por padrão entre a tarefa atual e suas instâncias ancestrais. Isso significa que, se uma instância ancestral não executar, o sistema não gerará os dados upstream dos quais o nó atual depende, podendo causar problemas de qualidade de dados. Portanto, a tarefa atual deve não apenas atingir seu próprio horário agendado, mas também verificar se todas as suas instâncias ancestrais foram concluídas.
-
O horário agendado de uma instância ancestral determina o horário de início mais cedo para a tarefa atual
Uma instância ancestral tem seu próprio horário agendado e só executa quando esse horário for atingido. Se o horário agendado de uma tarefa downstream for anterior ao de seu ancestral, a tarefa downstream não recebe agendamento mesmo que seu próprio horário seja atingido. Ela deve aguardar a conclusão da instância ancestral. Portanto, o horário agendado de uma instância ancestral determina o horário de início mais cedo possível para a tarefa atual. Para mais informações, consulte Impact of dependencies on task execution.
Como localizar instâncias ancestrais não executadas
Se uma tarefa estiver no status Não executado (indicado pelo ícone
), clique em Diagnostics para acessar a guia Operation Details. Em seguida, clique em Upstream Nodes para analisar automaticamente e localizar rapidamente as instâncias ancestrais não executadas.
O recurso de análise upstream percorre até seis níveis de ancestrais por padrão para encontrar tarefas sem execução bem-sucedida. Caso não encontre nenhuma, clique em Upstream Analysis na interface para continuar a análise.
Casos especiais:
Nó isolado: se uma tarefa no status Não executado não tiver ancestrais ao expandir os nós upstream, trata-se de um isolated node. Um nó isolado não aceita agendamento automático. Configure suas dependências upstream.
Ancestral congelado: se uma instância ancestral estiver congelada, ela bloqueia as tarefas downstream. Entre em contato com o proprietário da instância ancestral, confirme o motivo do congelamento e ajuste a lógica de negócios de acordo.
Horário agendado
O node scheduling time defined no DataStudio é o horário de execução esperado da tarefa. Somente depois que todas as instâncias ancestrais do nó atual executarem com sucesso (ou seja, após a geração dos dados dos quais ele depende), o nó atual verifica se o próprio horário agendado foi atingido. O resultado da verificação determina se a tarefa executará imediatamente. Essa verificação normalmente tem dois resultados:
-
O horário agendado para a tarefa atual foi atingido, mas uma instância ancestral ainda está em execução.
Nesse caso, assim que todas as instâncias ancestrais forem concluídas, a tarefa atual executa imediatamente, se houver recursos suficientes disponíveis no grupo de recursos.
-
Todas as instâncias ancestrais foram concluídas, mas o horário agendado para a tarefa atual não foi atingido.
Nesse caso, a tarefa deve aguardar até que seu horário agendado seja atingido. Se a tarefa estiver no status Tempo de espera (indicado pelo ícone
), clique em Diagnostics e acesse a página Timing Check para obter mais detalhes.
Recursos de agendamento
Quando as condições todas as suas instâncias ancestrais foram concluídas e o horário agendado do nó atual foi atingido são atendidas, o sistema começa a agendar a tarefa atual. No entanto, como os recursos de agendamento são limitados, se o grupo de recursos para agendamento não tiver recursos suficientes para executar a tarefa atual, a tarefa aguarda recursos de agendamento.
Normalmente, os recursos de agendamento são diferentes dos recursos de execução. Um recurso de agendamento apenas despacha tarefas para os recursos de execução de um mecanismo de computação. Se uma tarefa for executada por muito tempo e ocupar recursos do mecanismo, mesmo que um recurso de agendamento despache outra tarefa para o mecanismo, a tarefa fica bloqueada devido à insuficiência de recursos do mecanismo. Para mais informações, consulte o diagrama em Overview of DataWorks resource groups.
Como localizar tarefas que ocupam recursos
Se uma tarefa estiver aguardando recursos (indicado pelo ícone
), clique em Diagnostics para acessar a página Resources. Nela, visualize quais tarefas ocupam recursos no momento e faça ajustes conforme necessário.
Cenários de espera por recursos
Se uma tarefa que normalmente executa no horário agendado começar repentinamente a aguardar recursos, verifique os seguintes cenários.
|
Cenário |
Descrição |
|
Tarefas anormais estão retendo recursos por muito tempo, bloqueando outras tarefas. |
Verifique a etapa Resources na guia Operation Details para ver se alguma tarefa retém recursos por muito tempo. Visualize their execute logs para determinar a causa. |
|
O número de tarefas em execução no grupo de recursos aumentou. |
Um aumento no número de tarefas no grupo de recursos atual pode levar a tarefa atual a aguardar recursos. Ajuste a prioridade da tarefa ou o grupo de recursos que ela usa conforme necessário. |
|
Existem tarefas com alto consumo de memória. |
Verifique com sua equipe se alguma tarefa Shell ou PyODPS consome uma grande quantidade de memória de um grupo de recursos exclusivo. |
O grupo de recursos compartilhado para agendamento é compartilhado entre locatários. Durante os horários de pico (geralmente das
00:00~09:00), pode ocorrer contenção de recursos, podendo atrasar a execução da tarefa. Ao enfrentar problemas de espera por recursos com o grupo de recursos compartilhado para agendamento, recomendamos a migração de suas tarefas para um grupo de recursos exclusivo para agendamento. Para mais informações, consulte Billing of exclusive resource groups for scheduling.O número máximo de threads paralelas suportadas por um grupo de recursos exclusivo para agendamento depende das especificações adquiridas. Para detalhes sobre o número de tarefas suportadas por diferentes especificações, consulte Billing of exclusive resource groups for scheduling.
Execução da tarefa
Quando as condições de execução anteriores são atendidas, o DataWorks despacha a tarefa para um recurso ou service de execução. Para mais informações sobre o mecanismo de despacho de tarefas, consulte Overview of DataWorks resource groups.
Se uma tarefa estiver no status Falha na execução (indicado pelo ícone
), acesse Operation Details > Execution para visualizar a causa da falha.
As causas comuns para falha na execução de tarefas incluem:
Falha na execução do código da tarefa (falha na sincronização de dados ou na lógica de processamento de dados).
Falha na validação da regra de qualidade de dados para a tabela de saída da tarefa (a regra de qualidade de dados associada à tarefa falhou na validação).
Congelamento da tarefa.
Execução de tarefas SQL
Para tarefas SQL, visualize os logs de execução detalhados diretamente na página Execution dentro da guia Operation Details. O DataWorks despacha tarefas para o mecanismo correspondente para execução. Se uma instrução SQL falhar, consulte a documentação do mecanismo para identificar a causa.
Execução de tarefas de sincronização
Se uma tarefa de sincronização do Data Integration começar a executar, significa que o sistema de agendamento do DataWorks começou seu agendamento. No entanto, verifique os logs de execução detalhados para determinar se a tarefa realmente começou a sincronizar dados. Para mais informações sobre como analisar logs de tarefas do Data Integration, consulte Analyze batch synchronization logs. Os problemas comuns com tarefas de sincronização são os seguintes:
-
Os logs de sincronização de dados registram WAIT por muito tempo
Se os logs registrarem WAIT continuamente, significa que o sistema de agendamento do DataWorks despachou a tarefa de sincronização, mas o grupo de recursos de sincronização não tem recursos suficientes para executá-la. A tarefa aguarda a conclusão de outras tarefas e a liberação de recursos.
Por exemplo, um grupo de recursos exclusivo 4C8G para o Data Integration suporta no máximo oito threads paralelas. Se houver três tarefas configuradas com três threads paralelas cada e duas delas forem executadas simultaneamente, elas usarão seis threads. Nesse caso, a máquina tem apenas duas threads paralelas disponíveis. A terceira tarefa, que requer três threads, entra em status de espera devido à insuficiência de recursos, e o log mostra
wait. Nesse cenário, acesse Operation Details > Execution > Data Integration para ver quais tarefas ocupam recursos e a quantidade de recursos que cada tarefa usa.NotaUma tarefa do Data Integration ocupa um recurso de agendamento. Se uma tarefa não concluir por muito tempo, ela poderá bloquear outras tarefas.
Se a utilização de recursos estiver alta, mas nenhuma tarefa estiver realmente em execução, ou se as tarefas não puderem executar mesmo que o número de tarefas executáveis no grupo de recursos não tenha atingido seu limite, clique em link do aplicativo ou digitalize o código QR a seguir para entrar no grupo do DingTalk do DataWorks para suporte de pré-vendas e pós-vendas. Mencione o chatbot inteligente para obter ajuda ou entre em contato com os engenheiros de plantão durante o horário de serviço. O código QR para o grupo do DingTalk do DataWorks é o seguinte.

NotaO número máximo de threads paralelas que um grupo de recursos exclusivo para o Data Integration pode suportar depende das especificações adquiridas. Para mais informações, consulte Billing of exclusive resource groups for Data Integration.
-
Falha na sincronização de dados
Se uma tarefa de sincronização falhar, consulte a mensagem de erro detalhada e a documentação do plug-in específico para identificar a causa. Para mais informações, consulte FAQ about Data Integration.
Alertas de tarefas
Para tarefas com monitoramento e alerta configurados, clique em View Details na área de prompt da página Diagnostics. Na caixa de diálogo Monitoring Details, visualize a lista de regras ou baselines que monitoram a tarefa atual e seu status de acionamento.
Essas informações de diagnóstico aparecem somente quando o monitoramento e os alertas estão configurados para a tarefa. Para mais informações, consulte Diagnose task alert information.






