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à 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:

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:

  1. Nel menù 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'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à denominata generate_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}}.

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

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

  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 Configurare e modificare le attività di Databricks.

  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à Per ogni

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

Le visualizzazioni dei lavori interfaccia utente DAG passano ad attività Per ogni

Le visualizzazioni dei lavori interfaccia utente DAG passano ad attività annidate

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.