Configurar as dependências da tarefa

O campo execução se dependências permite que o senhor adicione lógica de fluxo de controle à tarefa com base no sucesso, na falha ou na conclusão de outra tarefa.

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

Databricks executar a tarefa upstream antes de executar a tarefa downstream, executando o maior número possível de tarefas em paralelo.

Observação

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

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

  • The If/else condition task is used to run a part of a job DAG based on the results of a boolean expression. The If/else condition task allows you to add branching logic to your job. For example, run transformation tasks only if the upstream ingestion task adds new data. See Add branching logic to a job with the If/else task.

  • A tarefa For each condition adiciona lógica de looping a outra tarefa com base em uma matriz de entrada. As matrizes de entrada podem ser especificadas manualmente ou geradas dinamicamente. Ver execução a parameterized Databricks Job tarefa in a loop.

  • A execução Job tarefa permite que o senhor acione outro trabalho em seu workspace. Consulte a execução Job tarefa for Job.

Adicionar uma condição de execução if a uma tarefa

Se o senhor tiver uma tarefa selecionada em seu DAG ao criar uma nova tarefa, sua nova tarefa terá uma dependência configurada nessa tarefa pelo site default.

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

  1. Selecione uma tarefa.

  2. No campo Depends on (Depende de ), clique no X para remover uma tarefa ou selecione a tarefa a ser adicionada no menu suspenso.

  3. Selecione uma das opções condicionais no campo execução se dependências.

  4. Clique em Save task (Salvar tarefa).

Run if opções de condição

O senhor pode adicionar as seguintes condições Run if a uma tarefa:

  • Todos foram bem-sucedidos: Todas as dependências foram executadas e bem-sucedidas. Essa é a configuração default. A tarefa é marcada como Upstream failed se a condição não for 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 for atendida.

  • Nenhum 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 pronto: A tarefa é executada após a execução de todas as suas dependências, independentemente do status da execução dependente. Essa condição permite que o senhor defina uma tarefa que seja executada sem depender do resultado de sua tarefa dependente.

  • Pelo menos uma falhou: 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 sua 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 da tarefa forem excluídas, a tarefa também será excluída, independentemente de sua condição Run if.

  • Se o senhor cancelar a execução de uma tarefa, o cancelamento se propagará pela tarefa downstream e a tarefa com uma condição Run if que lida com falhas será executada, por exemplo, para verificar a execução de uma tarefa de limpeza quando a execução de uma tarefa for cancelada.

Exemplo de trabalho com dependências de tarefa

A configuração das dependências da tarefa cria um gráfico acíclico direcionado (DAG) da execução da tarefa, uma forma comum de representar a ordem de execução no programador de trabalhos. 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.

  • A tarefa 2 e a tarefa 3 dependem de a tarefa 1 ser concluída primeiro.

  • Por fim, 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:

exemplo de fluxo das dependências da tarefa