Partilhar via


Controle o fluxo de tarefas no Lakeflow Jobs

Alguns trabalhos são simplesmente uma lista de tarefas que precisam ser concluídas. Você pode controlar a ordem de execução das tarefas especificando dependências entre elas. Você pode configurar tarefas para serem executadas em sequência ou em paralelo.

No entanto, você também pode criar fluxos de ramificação que incluem tarefas condicionais, correção de erros ou limpeza. Lakeflow Jobs fornece funcionalidade para controlar o fluxo de tarefas dentro de um trabalho. Os tópicos a seguir descrevem maneiras de controlar o fluxo de suas tarefas.

Tentativas

As novas tentativas especificam quantas vezes uma determinada tarefa deve ser executada novamente se a tarefa falhar com uma mensagem de erro. Os erros são muitas vezes transitórios e resolvidos através do reinício. Alguns recursos no Azure Databricks, como a evolução do esquema com o Structured Streaming, pressupõem que você execute trabalhos com novas tentativas para redefinir o ambiente e permitir que um fluxo de trabalho continue.

Se você especificar novas tentativas para uma tarefa, a tarefa será reiniciada até o número especificado de vezes se encontrar um erro. Nem todas as configurações de trabalho suportam repetições de tarefas. Consulte Definir uma política de repetição.

Quando está a funcionar no modo de gatilho contínuo, o Databricks tenta automaticamente novamente com um atraso crescente. Consulte Como as falhas são tratadas para trabalhos contínuos?.

Executar tarefas condicionais se

Você pode usar o Executar caso tipo de tarefa para especificar condicionais para tarefas posteriores com base no resultado de outras tarefas. Você adiciona tarefas ao seu trabalho e especifica tarefas dependentes do upstream. Com base no status dessas tarefas, você pode configurar uma ou mais tarefas downstream para serem executadas. Os empregos suportam as seguintes dependências:

  • Todos tiveram sucesso
  • Pelo menos um conseguiu
  • Nenhum falhou
  • Tudo feito
  • Pelo menos um falhou
  • Tudo falhou

Consulte Configurar dependências de tarefas

Tarefas condicionais Se/senão

Você pode usar o tipo de tarefa If/else para especificar condicionais com base em algum valor. Veja : Adicionar lógica de ramificação a um trabalho com a tarefa If/else.

Lakeflow Jobs suporta taskValues que você define em sua lógica e permite que você retorne os resultados de alguma computação ou estado de uma tarefa para o ambiente de trabalhos. Você pode definir condições If/else em relação a taskValues, parâmetros de trabalho ou valores dinâmicos.

Lakeflow Jobs suporta os seguintes operandos para condicionais:

  • ==
  • !=
  • >
  • >=
  • <
  • <=

Ver também:

Para cada tarefa

Use a tarefa For each para executar outra tarefa em um loop, passando um conjunto diferente de parâmetros para cada iteração da tarefa.

Para adicionar uma tarefa For each a um trabalho, você deve definir uma tarefa For each e uma tarefa aninhada . A tarefa aninhada é a tarefa a ser executada para cada iteração da tarefa For each e é um dos tipos de tarefa padrão do Databricks. Vários métodos são disponibilizados para passar parâmetros à tarefa aninhada.

Consulte Use uma For each tarefa para executar outra tarefa num ciclo.