Condividi tramite


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à per eseguire un'attività For each in un ciclo, passando un set diverso di parametri a ogni iterazione dell'attività.

L'aggiunta dell'attività a un processo richiede la definizione di due attività: l'attività For each 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:

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 l'attività For each a un processo.

Aggiungere l'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 :

  1. Nel menu a discesa Tipo selezionare Per ogni.

  2. Immettere un nome per l'attività nel campo Nome attività.

  3. Nella casella di testo Input definire i valori per l'attività su cui eseguire l'iterazioneFor each. Le opzioni a disposizione sono:

    Matrice json formattata di valori. Può trattarsi di 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à denominata generate_countries_list che precede l'attività imposta il valore dell'attività For each seguente:

    dbutils.jobs.taskValues.set(key = "countries", value = countries_array)

    L'attività fa quindi riferimento al valore dell'attività For each 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}}.

  4. Per impostare facoltativamente il numero di iterazioni eseguibili in parallelo, immettere un valore di concorrenza per l'attività. Il valore predefinito è 1.

  5. Per ricevere facoltativamente notifiche 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.

  6. Per completare la configurazione dell'attività e aggiungere un'attività For each nidificata da eseguire per ogni iterazione, fare clic su Aggiungi un'attività per eseguire un ciclo.

  7. 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 Opzioni del tipo di attività.

  8. 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.

    Aggiungere un'attività nidificata a un'attività For each

  9. Fare clic su Crea attività.

Passare dall'attività all'attività For each 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à all'attività For each nidificata, fare clic sui rispettivi nodi.

Passaggio alla visualizzazione DAG dell'interfaccia utente processi in Per ogni attività

Visualizzazione DAG dell'interfaccia utente processi passare all'attività nidificata

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. Vedere Eseguire un 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à. Per ogni attività, vedere Visualizzare la cronologia di esecuzione delle attività.