Tarefas desabilitadas em Jobs do Lakeflow

Uma tarefa desabilitada em um trabalho do Azure Databricks Lakeflow é ignorada durante a execução sem ser removida do trabalho. As tarefas desabilitadas mantêm a configuração e o histórico de execuções, para que você possa habilitá-las novamente mais tarde sem recompilar a tarefa. Esta página explica como as tarefas desabilitadas se comportam quando um trabalho é executado, incluindo seu efeito em tarefas downstream, reparos e execuções parciais.

Comportamento da tarefa downstream

Quando um trabalho é executado, o Lakeflow Jobs avalia a condição Executar se de cada tarefa downstream em relação às suas tarefas upstream para decidir se a tarefa deve ser executada, ignorada ou desativada. Tarefas desabilitadas são concluídas com um código de Disabled encerramento.

Se a condição Executar se de uma tarefa downstream não puder ser atendida porque uma ou mais tarefa-mãe estão desabilitadas, o Lakeflow Jobs também marcará a tarefa downstream como desabilitada para essa execução. As tarefas downstream desabilitadas mostram um ícone grande de círculo desativado. No canto superior direito da visualização do DAG (Gráfico Acíclico Direcionado), para que você possa ver o impacto antes de começar uma execução.

A tabela a seguir resume o comportamento de downstream para cada condição Executar se quando uma tarefa upstream estiver desabilitada. Para ver a lista completa de opções Executar se, consulte Configurar dependências de tarefa.

Executar se condição Comportamento da tarefa subsequente quando uma tarefa principal é desabilitada Exemplo
Todos bem-sucedidos (padrão) A tarefa downstream não é executada. Uma tarefa pai desabilitada não atende ao succeeded requisito. A (disabled) → B: B não é executado.
Pelo menos um foi bem-sucedido A tarefa subsequente será executada se pelo menos uma outra tarefa de origem tiver sido bem-sucedida. Se todas as outras tarefas pai falhassem ou fossem desabilitadas, a tarefa subsequente não será executada. A (disabled) e C (succeeded) → B: B processos.
Nenhum falhou A tarefa downstream será executada se pelo menos uma tarefa pai tiver sido concluída sem erros. Se todas as tarefas pai estiverem desabilitadas, a tarefa downstream não será executada. A (disabled) e C (skipped) → B: B é executado porque nenhuma tarefa pai falhou.
Tudo feito A tarefa downstream é executada normalmente. Uma tarefa pai desabilitada é considerada como feita. A (disabled) → B: B executa.
Pelo menos um falhou A tarefa downstream será executada se pelo menos uma outra tarefa pai falhou. Uma tarefa pai desabilitada não é considerada uma falha. Se nenhuma outra tarefa pai falhar, a tarefa subsequente não será executada. A (disabled) e C (failed) → B: B operações.
Tudo falhou A tarefa downstream não é executada. Uma tarefa pai desabilitada não é tratada como uma falha. A (disabled) → B: B não é executado.

Observação

Somente as tarefas que você desabilitar explicitamente têm disabled: true na definição do trabalho. Lakeflow Jobs determina a desabilitação downstream no momento da criação da execução e não a persiste nas configurações da tarefa.

Desabilitar uma tarefa

Para desabilitar ou reabilitar uma tarefa usando a interface do usuário, consulte Desabilitar uma tarefa.

Para desabilitar uma tarefa por meio da API ou de um pacote:

Defina disabled: true na tarefa nas configurações de trabalho usando a API REST Jobs, a CLI Azure Databricks, o SDK Azure Databricks ou um Pacotes de Automação Declarativa:

{
  "tasks": [
    {
      "task_key": "load_raw_data",
      "disabled": true,
      "notebook_task": {
        "notebook_path": "/Shared/etl/load_raw_data"
      }
    }
  ]
}

As respostas jobs/get e jobs/list retornam disabled: true somente para as tarefas que você desabilitou explicitamente. As tarefas desabilitadas dinamicamente durante uma execução não são refletidas nas configurações de trabalho armazenadas.

Tarefas desabilitadas em reparos e execuções parciais

As tarefas desabilitadas se comportam de forma diferente em execuções de reparo e execuções parciais do que em uma execução agendada típica:

  • Reparos: O Lakeflow Jobs usa o estado de execução de cada tarefa para determinar o que reparar, não o estado desabilitado da tarefa. Para forçar uma tarefa desabilitada a ser executada como parte de um reparo, inclua-a na rerun_taskssolicitação de reparo. Consulte Reexecutar tarefas falhas e puladas.
  • Execuções parciais: As tarefas desabilitadas não são selecionadas por padrão quando você inicia uma execução parcial, mas pode selecioná-las para serem executadas uma vez sem reabilitá-las nas configurações do trabalho. O Lakeflow Jobs executa exatamente as tarefas selecionadas e não aplica Executar se a propagação durante uma execução parcial.

Limitações

As tarefas desabilitadas têm as seguintes limitações:

  • Uma If/else condition tarefa falhará se a tarefa upstream que fornece seu valor de condição estiver desabilitada.
  • Uma For each tarefa falhará se a tarefa upstream que fornece seus valores de entrada estiver desabilitada.
  • Somente as tarefas desabilitadas pelo usuário aparecem como disabled: true na definição do trabalho. Para ver quais tarefas downstream são afetadas antes de executar o trabalho, use a visão DAG na interface de usuário de Tarefas.