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 parameters 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ù tables, passando un nome di table da un list di nomi di table a ogni iterazione dell'attività.
Quali tipi di parametri è possibile usare con l'attività For each
?
Per passare parameters da un'attività di For each
, è possibile:
- Definire una raccolta in formato JSON quando si crea o si modifica un'attività.
- Utilizzare l'attività values trasmessa da un'attività precedente. Per ulteriori informazioni sull'attività values, vedere l'attività . Usare l'attività values per trasmettere informazioni tra le attività.
- Usare il lavoro parameters. Per ulteriori informazioni sull'operazione parameters, vedere Configurare l'operazione parameters.
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 menu a discesa TiposelectPer ogni.
Immettere un nome per l’attività nel campo Nome attività.
Nella casella di testo Inputs, definire il values per l'attività
For each
su cui eseguire l'iterazione. Questa può essere una delle seguenti:Matrice json formattata di values. 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 all'attività values passata da un'attività precedente, usare la sintassi
{{tasks.<task_name>.values.<task_value_name>}}
per set il valore nella casella di testo "Inputs ". 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}}
.lavoro parameters. 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 set 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 in un 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.Select un tipo di attività e 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 riferirsi a parameters passato dal compito
For each
, cliccare su Parameters. Usare il riferimento{{input}}
per set il valore della matrice di ogni iterazione o{{input.<key>}}
per fare riferimento a singoli campi oggetto quando si esegue l'iterazione su un list 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 table di iterazioni delle attività. Vedere Visualizzare la cronologia di esecuzione delle attività per un’attività Per ogni.