Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 a montante antes de executar tarefas a jusante, executando o maior número possível delas em paralelo.
Nota
Depende de só é visível se a tarefa consistir em várias tarefas.
O Databricks também tem a seguinte funcionalidade para controle de fluxo e condicionalização:
- A tarefa de condição If/else é usada para executar uma parte de um DAG de um trabalho com base nos resultados de uma expressão booleana. A
If/else conditiontarefa permite que você adicione lógica de ramificação ao seu trabalho. Por exemplo, execute tarefas de transformação somente se a tarefa de ingestão upstream adicionar novos dados. Consulte Adicionar lógica de ramificação a um trabalho com a tarefa If/else. - A tarefa Para cada condição 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. Consulte Use uma
For eachtarefa para executar outra tarefa num ciclo. - A tarefa Executar Trabalho permite acionar outro trabalho em seu espaço de trabalho. Consulte Executar Tarefa para trabalhos.
Adicionar uma condição Executar sob condição 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:
- Selecione uma tarefa.
- No campo Depende de, clique no X para remover uma tarefa ou selecione tarefas do menu suspenso para adicionar.
- Selecione uma das opções condicionais no campo Executar se houver dependências.
- Clique em Salvar tarefa.
Run if Opções de condição
Você pode adicionar as seguintes Run if condições a uma tarefa:
-
Todas as dependências foram bem-sucedidas: todas as dependências executaram e foram bem-sucedidas. Esta é a predefinição. A tarefa é marcada como
Upstream failedse 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 failedse 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 failedse 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
Excludedse a condição não fosse atendida. -
Todas falharam: Todas as dependências falharam. A tarefa é marcada como
Excludedse a condição não fosse atendida.
Nota
- As tarefas a montante saltadas (
Excluded) são consideradas bem-sucedidas na avaliação das condiçõesRun if. - As tarefas configuradas para lidar com falhas são marcadas como
Excludedse suaRun ifcondiçã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 ifcondição. - Se uma execução de tarefa for cancelada, o cancelamento propaga-se para as tarefas subsequentes, e as tarefas que têm uma
Run ifcondição para lidar com falhas serão executadas, por exemplo, para verificar se uma tarefa de limpeza é efetuada 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:
- 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: