Condividi tramite


Configurare le dipendenze tra task

Il campo Esegui se le dipendenze consente di aggiungere logica del flusso di controllo ai task in base all'esito positivo, negativo o di completamento di altri task.

Le dipendenze vengono rappresentate visivamente nel DAG del processo come righe tra task.

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

Nota

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

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 task.
  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 condizione Run if

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

  • Tutte le operazioni riuscite: tutte le dipendenze sono state eseguite e riuscite. Si tratta dell'impostazione predefinita. Il task viene contrassegnato come Upstream failed se la condizione non è soddisfatta.
  • Almeno una riuscita: almeno una dipendenza è riuscita. 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 l'esecuzione di tutte le relative dipendenze, a prescindere dallo stato delle esecuzioni dipendenti. 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 non sono riuscite. Il task viene contrassegnato come Excluded se la condizione non è soddisfatta.

Nota

  • 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 vengono considerati correttamente eseguiti.
  • 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 tramite task downstream e i task con una condizione Run if che gestisce gli errori vengono eseguite, ad esempio, per accertare che si verifichi l'esecuzione di un task di pulizia quando l'esecuzione di un task viene annullata.

Processo di esempio con relazioni 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à