Attività disabilitate nei lavori Lakeflow

Un'attività disabilitata in un processo Azure Databricks Lakeflow viene ignorata in fase di esecuzione senza essere rimossa dal processo. Le attività disabilitate mantengono la cronologia di configurazione ed esecuzione, in modo da poterle riabilitare in un secondo momento senza ricompilare l'attività. Questa pagina illustra il comportamento delle attività disabilitate quando viene eseguito un processo, incluso il relativo effetto su attività downstream, riparazioni e esecuzioni parziali.

Comportamento delle attività downstream

Quando viene eseguito un job, i Lakeflow Jobs valutano la condizione Esegui se di ogni attività downstream rispetto alle attività upstream per decidere se eseguire, ignorare o disabilitare l'attività. Le attività disabilitate si completano con un codice di terminazione Disabled.

Se non è possibile soddisfare la condizione Esegui un'attività downstream perché una o più attività padre sono disabilitate, i processi Lakeflow contrassegnano anche l'attività downstream come disabilitata per l'esecuzione. Le attività downstream disabilitate mostrano un'icona Circle off grande. Nell'angolo superiore destro della visualizzazione Directed Acyclic Graph (DAG) è possibile visualizzare l'impatto prima di avviare un'esecuzione.

La tabella seguente riepiloga il comportamento downstream per ogni condizione Run if quando un'attività upstream è disabilitata. Per l'elenco completo delle opzioni Esegui se , vedere Configurare le dipendenze delle attività.

Esegui se la condizione è soddisfatta Comportamento delle attività a valle quando un'attività padre è disabilitata Esempio
Tutte le operazioni riuscite (impostazione predefinita) L'attività downstream non viene eseguita. Un'attività padre disabilitata non soddisfa il succeeded requisito. A (disabled) → B: B non funziona.
Almeno uno ha avuto esito positivo L'attività downstream viene eseguita se almeno un'altra attività padre ha avuto esito positivo. Se tutte le altre attività padre non sono riuscite o sono state disabilitate, l'attività downstream non viene eseguita. A (disabled) e C (succeeded) → B: B viene eseguito.
Nessuna non riuscita L'attività downstream viene eseguita se almeno un'attività padre è stata completata senza errori. Se tutte le attività superiori sono disabilitate, l'attività a valle non viene eseguita. A (disabled) e C (skipped) → B: B viene eseguito perché nessuna attività padre non è riuscita.
Tutto fatto L'attività downstream viene eseguita normalmente. Un'attività padre disabilitata è considerata completata. A (disabled) → B: B viene eseguito.
Almeno un errore L'attività downstream viene eseguita se almeno un'altra attività padre non è riuscita. Un'attività padre disabilitata non viene considerata un fallimento. Se nessun'altra attività padre non è riuscita, l'attività downstream non viene eseguita. A (disabled) e C (failed) → B: B viene eseguito.
Tutto non riuscito L'attività downstream non viene eseguita. Un'attività padre disabilitata non è considerata un fallimento. A (disabled) → B: B non si avvia.

Annotazioni

Solo le attività che hai disabilitato esplicitamente hanno disabled: true nella definizione del job. I processi Lakeflow determinano la disabilitazione downstream in fase di creazione dell'esecuzione e non la rende persistente nelle impostazioni del processo.

Disabilitare un'attività

Per disabilitare o riabilitare un'attività usando l'interfaccia utente, vedere Disabilitare un'attività.

Per disabilitare un'attività tramite l'API o un bundle:

Impostare disabled: true sul task nelle impostazioni del processo usando l'API REST Jobs, la CLI di Azure Databricks, l'SDK di Azure Databricks o un Bundle di automazione dichiarativa:

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

Le jobs/get risposte e jobs/list restituiscono disabled: true solo per le attività disabilitate in modo esplicito. Le attività disabilitate in modo dinamico durante un'esecuzione non vengono riflesse nelle impostazioni del processo archiviate.

Attività disabilitate nelle riparazioni e nelle esecuzioni parziali

Le attività disabilitate si comportano in modo diverso nelle esecuzioni di ripristino e nelle esecuzioni parziali rispetto a un'esecuzione pianificata tipica:

  • Riparazioni: I processi Lakeflow usano lo stato di esecuzione di ogni attività per determinare cosa ripristinare, non lo stato disabilitato dell'attività. Per forzare l'esecuzione di un'attività disabilitata come parte di un ripristino, includerla nella rerun_tasksrichiesta di ripristino. Consulta Rieseguire le attività non riuscite e ignorate.
  • Esecuzioni parziali: Le attività disabilitate non sono selezionate per impostazione predefinita quando si avvia un'esecuzione parziale, ma è possibile selezionarle per l'esecuzione una sola volta senza riabilitarle nelle impostazioni del processo. Lakeflow Jobs esegue esattamente i processi che selezioni e non applica la propagazione di Run if durante un'esecuzione parziale.

Limitations

Le attività disabilitate presentano le limitazioni seguenti:

  • Un'attività If/else condition non riesce se l'attività upstream che ne fornisce il valore della condizione è disabilitata.
  • Un'attività For each non riesce se l'attività upstream che fornisce i relativi valori di input è disabilitata.
  • Solo le attività disabilitate dall'utente vengono visualizzate come disabled: true nella definizione del processo. Per vedere quali attività downstream vengono coinvolte prima di eseguire il processo, utilizzare la visualizzazione DAG nell'interfaccia utente dei processi.