Eseguire un'attività di processo di Azure Databricks con parametri in un ciclo
Questo articolo illustra l'uso dell'attività For each
con i processi di Azure Databricks, inclusi i dettagli sull'aggiunta e la configurazione dell'attività nell'interfaccia utente dei processi. Usare l'attività For each
per eseguire un'attività in un ciclo, passando un set diverso di parametri a ogni iterazione dell'attività.
L'aggiunta dell'attività For each
a un processo richiede la definizione di due attività: l'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 di attività standard di Processi di Azure Databricks. Non è possibile aggiungere un'altra For each
attività come attività nidificata.
Ad esempio, è possibile usare l'attività For each
per eseguire un set comune di trasformazioni in più tabelle, passando un nome di tabella da un elenco di nomi di tabella a ogni iterazione dell'attività.
Quali tipi di parametri è possibile usare con l'attività For each
?
Per passare parametri da un'attività For each
, è possibile:
- Definire una raccolta in formato JSON quando si crea o si modifica un'attività.
- Usare i valori delle attività passati da un'attività precedente. Per altre informazioni sui valori delle attività, vedere Usare i valori delle attività per passare informazioni tra le attività.
- Usare parametri dei processi. Per maggiori informazioni sui parametri del processo, vedere Configurare i parametri del processo.
Per informazioni su come usare questi diversi tipi di parametri quando si aggiunge o si modifica un'attività For each
, vedere la sezione successiva Aggiungere Per ogni attività a un processo.
Aggiungere attività For each
a un processo
È possibile aggiungere un'attività For each
quando si crea un processo o si modifica un'attività in un processo esistente. Per configurare un'attività For each
:
Nel menù a discesa Tipo, selezionare Per ogni.
Immettere un nome per l’attività nel campo Nome attività.
Nella casella di testo Input definire i valori per l'
For each
attività su cui eseguire l'iterazione. Questa può essere una delle seguenti:Una matrice JSON formattata di valori. Questa può essere una matrice dei tipi di dati seguenti:
- Coppie chiave-valore
- Stringhe, numeri o tipi booleani
- Oggetti JSON arbitrariamente complessi
Riferimenti ai valori dell'attività. Per fare riferimento ai valori dell'attività passati da un'attività precedente, usare la
{{tasks.<task_name>.values.<task_value_name>}}
sintassi per impostare il valore nella casella di testo Input. Ad esempio, se un'attività denominatagenerate_countries_list
che precede l'attivitàFor each
imposta il valore dell'attività seguente:dbutils.jobs.taskValues.set(key = "countries", value = countries_array)
L'attività
For each
fa quindi riferimento al valore dell'attività nella casella di testo Input usando la sintassi seguente:{{tasks.generate_countries_list.values.countries}}
.Parametri del processo. Per fare riferimento a un parametro del processo, usare la sintassi seguente nella casella di testo Input:
{{job.parameters.<name>}}
. Ad esempio:{{job.parameters.countries}}
.
Per impostare facoltativamente il numero di iterazioni eseguibili in parallelo, immettere un valore di concorrenza per l'attività. Il valore predefinito è 1.
Per ricevere notifiche opzionali per l'avvio, l'esito positivo o negativo dell'attività, fare clic su + Aggiungi. Vedere Aggiungere notifiche di posta elettronica e di sistema per gli eventi del processo.
Per completare la configurazione dell'attività
For each
e aggiungere un'attività nidificata da eseguire per ogni iterazione, fare clic su Aggiungi un'attività per eseguire un ciclo.Selezionare un tipo di attività e le opzioni di configurazione per l'attività nidificata. Le attività annidate sono tipi di attività standard e hanno le stesse opzioni di configurazione. Vedere Configurare e modificare le attività di Databricks.
Per fare riferimento ai parametri passati dall'attività
For each
, fare clic su Parametri. Usare il{{input}}
riferimento per impostare il valore sul valore della matrice di ogni iterazione o{{input.<key>}}
per fare riferimento a singoli campi oggetto quando si esegue l'iterazione su un elenco di oggetti.Cliccare Crea task.
Passare dall'attività For each
all'attività nidificata
L'attività For each
viene visualizzata nell'interfaccia utente Processi come nodo con il nodo attività annidato all'interno del For each
nodo. Per passare dall'attività For each
all'attività nidificata, fare clic sui rispettivi nodi.
Fare riferimento a un'attività For each
nelle attività downstream
L'attività For each
è l'attività di primo livello e le attività downstream possono specificarla come dipendenza. Le attività downstream non possono dipendere o fare riferimento all'attività nidificata.
Eseguire e monitorare un processo con un'attività For each
L'esecuzione di un processo con un'attività For each
è identica all'esecuzione di qualsiasi altro processo.
Anche la visualizzazione e la gestione delle esecuzioni dei processi sono identiche a qualsiasi altro processo, ad eccezione della cronologia di esecuzione delle attività per un'attività For each
, che viene presentata come tabella di iterazioni delle attività. Vedere Visualizzare la cronologia di esecuzione delle attività per un’attività Per ogni.