Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O campo Executar conforme dependências permite adicionar lógica de controle de fluxo às 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.
Azure Databricks executa tarefas upstream antes de executar tarefas downstream, executando o maior número possível delas em paralelo.
Observação
Depende de fica visível apenas se o trabalho consistir de múltiplas tarefas.
O Databricks também tem a seguinte funcionalidade para fluxo de controle e condicionalização:
- A tarefa Condição If/else é usada para executar uma parte de um DAG com base no resultado de uma expressão booleana. A tarefa
If/else conditionpermite adicionar 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 condicional Para cada adiciona lógica de loop a outra tarefa com base em uma matriz de entrada. As matrizes de entrada podem ser especificadas manualmente ou geradas dinamicamente. Consulte Usar uma tarefa
For eachpara executar outra tarefa em um loop. - A tarefa Executar Trabalho permite disparar outro trabalho em seu espaço de trabalho. Consulte a Tarefa Executar Trabalho.
Adicionar uma condição "Executar se verdadeiro" 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:
- Selecione uma tarefa.
- No campo Depende de, clique no X para remover uma tarefa ou selecione tarefas para adicionar no menu suspenso.
- Selecione uma das opções condicionais no campo Executar se 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:
-
Tudo bem-sucedido: Todas as dependências foram executadas com sucesso. Esta é a configuração padrão. A tarefa é marcada como
Upstream failedse a condição não for atendida. -
Pelo menos uma dependência foi bem-sucedida: Pelo menos uma dependência foi concluída com sucesso. A tarefa é marcada como
Upstream failedse 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 failedse a condição não for atendida. - Tudo concluído: a tarefa é executada após todas as suas dependências terem sido executadas, 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
Excludedse a condição não for atendida. -
Tudo falhou: todas as dependências falharam. A tarefa é marcada como
Excludedse a condição não for atendida.
Observação
- As tarefas upstream ignoradas (
Excluded) são tratadas como bem-sucedidas ao avaliarRun ifas condições. - As tarefas configuradas para lidar com falhas são marcadas como
Excludedse a condiçãoRun ifnã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 ifcondição. - Se você cancelar uma execução de tarefa, o cancelamento será propagado entre as tarefas downstream, e as tarefas com uma condição
Run ifque manipula a falha serão executadas. Por exemplo, para garantir que uma tarefa de limpeza seja realizada 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:
- 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: