Solucionar problemas e reparar falhas em trabalhos

Suponha que você tenha sido notificado (por exemplo, por meio de uma notificação por email, de uma solução de monitoramento ou na interface do usuário de Trabalhos do Azure Databricks) de que uma tarefa falhou em uma execução do trabalho do Azure Databricks. As etapas neste artigo fornecem diretrizes para ajudar você a identificar por que a execução do trabalho falhou, sugestões para corrigir os problemas encontrados e como reparar execuções de trabalho com falha.

Identificar a causa da falha

Para localizar a tarefa com falha na interface do usuário de Trabalhos do Azure Databricks:

  1. Clique EM Jobs IconTrabalhos na barra lateral.

  2. Na coluna Nome, clique em um nome de trabalho. A guia Execuções mostra as execuções ativas e concluídas, incluindo aquelas com falha. A exibição de matriz na guia Execuções mostra um histórico de execuções do trabalho, incluindo execuções com êxito ou malsucedidas de cada tarefa de trabalho. Uma execução de tarefa pode não ter êxito porque falhou ou foi ignorada porque uma tarefa dependente falhou. Usando a exibição de matriz, você pode identificar rapidamente falhas em tarefas na execução do trabalho.

    Matrix view of job runs

  3. Passe o mouse sobre uma tarefa com falha para ver os metadados associados. Esses metadados incluem as datas de início e de término, o status, os detalhes do cluster de duração e, em alguns casos, uma mensagem de erro.

  4. Para ajudar a identificar a causa da falha, clique na tarefa com falha. A página Detalhes da execução da tarefa aparece, exibindo a saída, a mensagem de erro e os metadados associados para a tarefa.

Corrigir a causa da falha

Sua tarefa pode ter falhado por vários motivos, por exemplo, um problema de qualidade de dados, uma configuração incorreta ou recursos de computação insuficientes. A seguir, temos as etapas sugeridas para corrigir algumas causas comuns de falhas de tarefa:

  • Se a falha estiver relacionada à configuração da tarefa, clique em Editar tarefa. A configuração da tarefa é aberta em uma nova guia. Atualize a configuração da tarefa conforme necessário e clique em Salvar tarefa.
  • Se o problema estiver relacionado a recursos de cluster, por exemplo, instâncias insuficientes, haverá várias opções:
    • Se o trabalho estiver configurado para usar um cluster de trabalho, considere usar um cluster compartilhado para todas as finalidades.
    • Altere a configuração do cluster. Clique em Editar tarefa. No painel Detalhes do trabalho, em Computação, clique em Configurar para configurar o cluster. Você pode alterar o número de trabalhos, os tipos de instância ou outras opções de configuração de cluster. Você também pode clicar em Trocar para alternar para outro cluster disponível. Para garantir que esteja fazendo o uso ideal dos recursos disponíveis, examine as melhores práticas para a configuração do cluster.
    • Se necessário, peça que um administrador aumente as cotas de recursos na conta de nuvem e na região em que o workspace está implantado.
  • Se a falha for causada por exceder o máximo de execuções simultâneas:
    • Aguarde a conclusão de outras execuções.
    • Clique em Editar tarefa. No painel Detalhes do trabalho, clique em Editar execuções simultâneas, insira um novo valor para Máximo de execuções simultâneas e clique em Confirmar.

Em alguns casos, a causa de uma falha pode ser upstream do trabalho, por exemplo, uma fonte de dados externa que não está disponível. Você ainda pode aproveitar o recurso de execução de reparo abordado na próxima seção após o problema externo ser resolvido.

Executar novamente tarefas com falha e ignoradas

Depois de identificar a causa da falha, você pode reparar trabalhos com várias tarefas cancelados ou com falha executando apenas o subconjunto de tarefas malsucedidas e quaisquer tarefas dependentes. Como as tarefas bem-sucedidas e todas as tarefas que dependem delas não são executadas novamente, esse recurso reduz o tempo e os recursos necessários para se recuperar de execuções de trabalho malsucedidas.

É possível alterar as configurações do trabalho ou da tarefa antes de reparar a execução do trabalho. As tarefas malsucedidas são executadas novamente com as configurações atuais de trabalho e tarefa. Por exemplo, se você alterar o caminho para um notebook ou uma configuração de cluster, a tarefa será executada novamente com as configurações de notebook ou cluster atualizadas.

Veja o Histórico de todas as execuções de tarefas na página Detalhes de execução de tarefa.

Observação

  • Se uma ou mais tarefas compartilharem um cluster de trabalho, uma execução de reparo criará um cluster de trabalho. Por exemplo, se a execução original tiver usado o cluster de trabalho my_job_cluster, a primeira execução de reparo usará o novo cluster de trabalho my_job_cluster_v1, permitindo que você veja facilmente o cluster e as configurações de cluster usados pela execução inicial e por quaisquer execuções de reparo. As configurações de my_job_cluster_v1 são iguais às configurações atuais de my_job_cluster.
  • Há suporte para o reparo somente com trabalhos que orquestram duas ou mais tarefas.
  • O valor Duração exibido na guia Execuções inclui desde a hora em que a primeira execução começou até a hora em que a última execução de reparo terminou. Por exemplo, se uma execução falhou duas vezes e foi bem-sucedida na terceira tentativa, a duração inclui o tempo de todas as três execuções.

Para reparar uma execução de trabalho com falha:

  1. Clique no link da execução com falha na coluna Hora de início da tabela de execuções de trabalho ou clique na tarefa com falha na exibição de matriz. A página Detalhes da execução de tarefa é exibida.
  2. Clique em Execução de reparo. A caixa de diálogo Reparar execução de trabalho aparece, listando todas as tarefas malsucedidas e quaisquer tarefas dependentes que serão executadas novamente.
  3. Para adicionar ou editar parâmetros para as tarefas a serem reparadas, insira os parâmetros na caixa de diálogo Reparar execução de trabalho. Os parâmetros inseridos na caixa de diálogo Reparar execução de trabalho substituem os valores existentes. Em execuções de reparo subsequentes, é possível retornar um parâmetro ao valor original limpando a chave e o valor na caixa de diálogo Reparar execução de trabalho.
  4. Clique em Execução de reparo na caixa de diálogo Reparar execução de trabalho.
  5. Após a conclusão da execução de reparo, a exibição de matriz é atualizada com uma nova coluna para a execução reparada. Tarefas com falha que eram vermelhas agora devem estar verdes, indicando uma execução bem-sucedida para todo o trabalho.

Exibir e gerenciar falhas de trabalho contínuas

Quando falhas consecutivas de um trabalho contínuo excedem um limite, os Trabalhos do Azure Databricks usam a retirada exponencial para tentar novamente realizar o trabalho. Quando um trabalho está no estado de retirada exponencial, uma mensagem no painel Detalhes do trabalho exibe informações, incluindo:

  • O número de falhas consecutivas.
  • O período pelo qual o trabalho precisa ser executado sem erros para que seja considerado bem-sucedido.
  • A hora antes da próxima repetição se nenhuma execução estiver ativa no momento.

Para cancelar a execução ativa, redefina o período de repetição e inicie uma nova execução de trabalho, clique em Reiniciar execução.