Partilhar 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 do trabalho como linhas entre tarefas.

O Azure Databricks executa tarefas upstream antes de executar tarefas downstream, executando o maior número possível delas em paralelo.

Nota

Depende de só é visível se o trabalho consistir em várias tarefas.

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

Adicionar uma condição Executar se a uma tarefa

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

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

  1. Select uma tarefa.
  2. No campo Depende, clique no X para uma tarefa ou tarefas a serem adicionadas no menu suspenso.
  3. Select 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:

  • Todas foram bem-sucedidas: todas as dependências foram executadas e bem-sucedidas. Esta é a predefinição. A tarefa é marcada como Upstream failed se a condição não fosse atendida.
  • Pelo menos uma teve sucesso: pelo menos uma dependência foi bem-sucedida. A tarefa é marcada como Upstream failed se a condição não fosse 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 fosse atendida.
  • Tudo feito: A tarefa é executada depois que todas as suas dependências foram executadas, independentemente do status das execuções dependentes. Essa condição permite que você defina uma tarefa que é executada sem depender do resultado de suas tarefas dependentes.
  • Pelo menos uma falhou: Pelo menos uma dependência falhou. A tarefa é marcada como Excluded se a condição não fosse atendida.
  • Todas falharam: Todas as dependências falharam. A tarefa é marcada como Excluded se a condição não fosse atendida.

Nota

  • As tarefas configuradas para lidar com falhas são marcadas como Excluded se sua Run if condição não fosse atendida. As tarefas excluídas são ignoradas e tratadas como bem-sucedidas.
  • Se todas as dependências da 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 se propagará por tarefas downstream e tarefas com uma Run if condição que manipula falhas serão executadas, por exemplo, para verificar se uma tarefa de limpeza é executada quando uma execução de tarefa é cancelada.

Exemplo de trabalho com dependências de tarefas

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

Diagrama de exemplo de dependências de tarefas

  • A tarefa 1 é a tarefa raiz e não depende de nenhuma outra tarefa.
  • A Tarefa 2 e a Tarefa 3 dependem da conclusão da Tarefa 1 primeiro.
  • Finalmente, a Tarefa 4 depende da conclusão bem-sucedida da Tarefa 2 e da Tarefa 3.

O diagrama a seguir ilustra a ordem de processamento dessas tarefas:

Fluxo de exemplo de dependências de tarefas