Condividi tramite


Configurare le dipendenze tra attività

Il campo Esegui in base alle dipendenze consente di aggiungere logica del flusso di controllo delle attività in base al successo, fallimento o completamento di altre attività.

Le dipendenze sono rappresentate visivamente nel DAG del lavoro come linee tra le attività.

Azure Databricks esegue attività upstream prima di eseguire attività downstream, eseguendo il maggior numero possibile di attività in parallelo.

Nota

Dipende da è visibile solo se il processo è costituito da più attività.

Databricks include anche le funzionalità seguenti per il flusso di controllo e la condizionalizzazione:

Aggiungere una condizione Esegui se a un task

Se è stato selezionato un task nel DAG quando si crea un nuovo task, per impostazione predefinita il nuovo task ha una dipendenza configurata in detto task.

Per modificare o aggiungere condizioni, eseguire le operazioni seguenti:

  1. Selezionare un'attività.
  2. Nel campo Dipende da, cliccare la X per rimuovere un task o selezionare i task da aggiungere dal menu a discesa.
  3. Selezionare una delle opzioni condizionali nel campo Esegui se dipendenze.
  4. Cliccare Salva task.

Opzioni condizioni Run if

È possibile aggiungere le condizioni Run if seguenti a un task:

  • Tutto riuscito: tutte le dipendenze sono state eseguite e completate con successo. Si tratta dell'impostazione predefinita. Il task viene contrassegnato come Upstream failed se la condizione non è soddisfatta.
  • Almeno una completata con successo: almeno una dipendenza è stata completata con successo. Il task viene contrassegnato come Upstream failed se la condizione non è soddisfatta.
  • Nessuna non riuscita: nessuna delle dipendenze non è riuscita e almeno una dipendenza è stata eseguita. Il task viene contrassegnato come Upstream failed se la condizione non è soddisfatta.
  • Operazione completata: il task viene eseguito dopo che tutte le relative dipendenze sono state eseguite, indipendentemente dallo stato di esecuzione delle dipendenze. Questa condizione consente di definire un task eseguito senza dipendere dal risultato dei task dipendenti.
  • Almeno una non riuscita: almeno una dipendenza non è riuscita. Il task viene contrassegnato come Excluded se la condizione non è soddisfatta.
  • Tutte non riuscite: Tutte le dipendenze sono fallite. Il task viene contrassegnato come Excluded se la condizione non è soddisfatta.

Nota

  • Le attività upstream ignorate (Excluded) vengono considerate come riuscite quando si valutano le condizioni (Run if).
  • I task configurati per gestire gli errori vengono contrassegnati come Excluded se la rispettiva condizione Run if non è soddisfatta. I task esclusi vengono ignorati e considerati eseguiti con successo.
  • Se vengono escluse tutte le relazioni tra task, viene escluso anche il task, indipendentemente dalla relativa condizione Run if.
  • Se si annulla l'esecuzione di un task, l'annullamento viene propagato attraverso i task downstream e i task con una condizione Run if che gestisce gli errori vengono eseguiti, ad esempio, per verificare che un task di pulizia venga eseguito quando l'esecuzione di un task viene annullata.

Esempio di lavoro con dipendenze tra attività

La configurazione delle dipendenze delle attività crea un grafo aciclico diretto (DAG) dell'esecuzione dell'attività, un modo comune per rappresentare l'ordine di esecuzione nelle utilità di pianificazione dei processi. Si consideri ad esempio il processo seguente costituito da quattro attività:

Diagramma di esempio delle dipendenze delle attività

  • L'attività 1 è l'attività radice e non dipende da altre attività.
  • L'attività 2 e l'attività 3 dipendono dall'attività 1 completata per prima.
  • Infine, l'attività 4 dipende dal corretto completamento dell'attività 2 e dell'attività 3.

Il seguente diagramma illustra l’ordine di elaborazione di queste attività:

Flusso di esempio delle dipendenze delle attività