Controllare il flusso dei task all'interno di un job in Databricks
Alcuni lavori sono semplicemente un elenco di attività che devono essere completate. È possibile controllare l'ordine di esecuzione delle attività specificando le dipendenze tra di esse. È possibile configurare le attività da eseguire in sequenza o in parallelo.
Tuttavia, è anche possibile creare flussi di diramazione che includono attività condizionali, correzione degli errori o pulizia. Azure Databricks offre funzionalità per controllare il flusso delle attività all'interno di un processo. Negli argomenti seguenti vengono descritti i modi in cui è possibile controllare il flusso delle attività.
Tentativi
I tentativi specificano quante volte deve essere rieseguita un'attività specifica se fallisce con un messaggio di errore. Gli errori sono spesso temporanei e risolti tramite il riavvio. Alcune funzionalità di Azure Databricks, ad esempio l'evoluzione dello schema con Structured Streaming, presuppongono che si eseguano processi con nuovi tentativi per reimpostare l'ambiente e consentire a un flusso di lavoro di continuare.
Se si specificano nuovi tentativi per un'attività, l'attività viene riavviata fino al numero specificato di volte in caso di errore. Non tutte le configurazioni del lavoro supportano i tentativi di attività. Vedere Impostare un criterio di ripetizione dei tentativi.
Quando si esegue in modalità trigger continuo, Databricks esegue automaticamente nuovi tentativi con backoff esponenziale. Vedere Come vengono gestiti gli errori per i processi continui?.
Esegui le attività condizionali se presenti
È possibile usare la Esegui se tipo di attività per specificare le condizioni per le attività successive in base al risultato di altre attività. Aggiungi attività al tuo lavoro e specifica attività dipendenti da task precedenti. In base allo stato di tali attività, è possibile configurare una o più attività downstream da eseguire. Le attività supportano le dipendenze seguenti:
- Tutto riuscito
- Almeno uno ha avuto esito positivo
- Nessun errore
- Tutto fatto
- Almeno uno fallito
- Tutto non riuscito
Vedere Configurare le dipendenze delle attività
attività condizionali if/else
È possibile usare il If/else tipo di attività per specificare le condizioni in base a un valore. Vedere Aggiungere logica di diramazione a un processo con l'attività If/else.
I job supportano taskValues
che definisci nella tua logica e consentono di restituire i risultati di un calcolo o lo stato da un task all'ambiente dei job. È possibile definire Condizioni di if/else rispetto a taskValues
, parametri di processo o valori dinamici.
Azure Databricks supporta gli operandi seguenti per le condizionali:
==
!=
>
>=
<
<=
Vedere anche:
- Usare i valori delle attività per passare informazioni tra attività
- Che cos'è un riferimento di valore dinamico?
- parametrizzare i processi
Per ogni attività
Usare l'attività For each
per eseguire un'altra attività in un ciclo, passando un set di parametri diverso a ogni iterazione dell'attività.
Per aggiungere un'attività For each
a un processo, è necessario definire un'attività For each
e un'attività nidificata . L'attività nidificata è l'attività da eseguire per ogni iterazione dell'attività For each
ed è uno dei tipi standard di attività di Databricks. Per passare parametri all'attività nidificata sono supportati più metodi.
Consulta Esegui in un ciclo un'attività di Azure Databricks con parametri.