Compartilhar via


Configurar dependências de tarefas

O campo Executar se dependências permite adicionar lógica de fluxo de controle a tarefas com base no sucesso, falha ou conclusão de outras tarefas.

As dependências são representadas visualmente no DAG de trabalho como linhas entre tarefas.

O Azure Databricks executa tarefas upstream antes de executar tarefas downstream e as executa o máximo em paralelo possível.

Observação

Depende de fica visível apenas se o trabalho consistir de mútiplas tarefas.

O Databricks também tem a seguinte funcionalidade para fluxo de controle e condicionalização:

Adicionar uma condição Executar se a uma tarefa

Se você tiver uma tarefa selecionada em seu DAG ao criar uma nova tarefa, sua nova tarefa terá uma dependência configurada nessa tarefa por padrão.

Para editar ou adicionar condições, faça o seguinte:

  1. Selecione uma tarefa.
  2. No campo Depende de, clique no X para remover uma tarefa ou selecionar tarefas a serem adicionadas no menu suspenso.
  3. Selecione uma das opções condicionais no campo Executar se dependências.
  4. Clique em Salvar tarefa.

Run if opções de condição

Você pode adicionar as seguintes Run if condições a uma tarefa:

  • Tudo bem-sucedido: todas as dependências foram executadas e bem-sucedidas. Esta é a configuração padrão. A tarefa é marcada como Upstream failed se a condição não for atendida.
  • Pelo menos uma foi bem-sucedida: pelo menos uma dependência foi bem-sucedida. A tarefa é marcada como Upstream failed se a condição não for atendida.
  • Nenhuma falhou: nenhuma das dependências falhou e pelo menos uma dependência foi executada. A tarefa é marcada como Upstream failed se a condição não for atendida.
  • Tudo feito: a tarefa é executada depois de executar todas as dependências, independentemente do status das execuções dependentes. Essa condição permite que você defina uma tarefa executada sem depender do resultado das suas tarefas dependentes.
  • Pelo menos uma falha: pelo menos uma dependência falhou. A tarefa é marcada como Excluded se a condição não for atendida.
  • Tudo falhou: todas as dependências falharam. A tarefa é marcada como Excluded se a condição não for atendida.

Observação

  • As tarefas configuradas para lidar com falhas são marcadas como Excluded se a condição Run if não for atendida. As tarefas excluídas são ignoradas e tratadas como bem-sucedidas.
  • Se todas as dependências de tarefa forem excluídas, a tarefa também será excluída, independentemente de sua Run if condição.
  • Se você cancelar uma execução de tarefa, o cancelamento será propagado por meio de tarefas downstream e as tarefas com uma condição Run if que manipula a falha serão executadas, por exemplo, para verificar que uma tarefa de limpeza seja executada quando uma execução de tarefa for cancelada.

Exemplo de trabalho com dependências entre tarefas

A configuração de dependências da tarefa cria um DAG (Grafo Direcionado Acíclico) da execução da tarefa, uma maneira comum de representar a ordem de execução em agendadores de trabalho. Por exemplo, considere o seguinte trabalho que consiste em quatro tarefas:

Diagrama de exemplo de dependências de tarefa

  • A Tarefa 1 é a tarefa raiz e não depende de nenhuma outra tarefa.
  • As Tarefas 2 e 3 dependem da conclusão da Tarefa 1.
  • Por fim, a Tarefa 4 depende da conclusão bem-sucedida das Tarefas 2 e 3.

O diagrama abaixo ilustra a ordem de processamento dessas tarefas:

Fluxo de exemplo de dependências de tarefa