Usare il calcolo di Azure Databricks con i processi

Quando si esegue un processo di Azure Databricks, le attività configurate come parte del processo vengono eseguite nel calcolo di Azure Databricks, a seconda del tipo di attività. La selezione del tipo di calcolo e delle opzioni di configurazione è importante quando si operazionalizza un processo. Questo articolo fornisce raccomandazioni per l'uso delle risorse di calcolo di Azure Databricks per l'esecuzione dei processi.

Per altre informazioni sull'uso del calcolo serverless con i processi di Azure Databricks, vedere Eseguire il processo di Azure Databricks con calcolo serverless per i flussi di lavoro.

Nota

I segreti non vengono elaborati dal log stdout e stderr dai flussi del driver Spark di un cluster. Per proteggere i dati sensibili, per impostazione predefinita, i log dei driver Spark sono visualizzabili solo dagli utenti con l'autorizzazione CAN MANAGE per il processo, la modalità di accesso utente singolo e i cluster in modalità di accesso condiviso. Per consentire agli utenti con l'autorizzazione CAN ATTACH TO o CAN RESTART per visualizzare i log in questi cluster, impostare la proprietà di configurazione Spark seguente nella configurazione del cluster: spark.databricks.acl.needAdminPermissionToViewLogs false.

In nessun cluster in modalità di accesso condiviso isolamento i log del driver Spark possono essere visualizzati dagli utenti con l'autorizzazione CAN ATTACH TO o CAN MANAGE. Per limitare gli utenti che possono leggere i log solo agli utenti con l'autorizzazione CAN MANAGE, impostare su spark.databricks.acl.needAdminPermissionToViewLogstrue.

Vedere Configurazione di Spark per informazioni su come aggiungere proprietà Spark a una configurazione del cluster.

Usare cluster di processi condivisi

Per ottimizzare l'utilizzo delle risorse con processi che orchestrano più attività, usare cluster di processi condivisi. Un cluster di processi condivisi consente a più attività nella stessa esecuzione del processo di riutilizzare il cluster. È possibile usare un singolo cluster di processi per eseguire tutte le attività che fanno parte del processo o più cluster di processi ottimizzati per carichi di lavoro specifici. Per usare un cluster di processi condivisi:

  1. Selezionare Nuovi cluster di processo quando si crea un'attività e si completa la configurazione del cluster.
  2. Selezionare il nuovo cluster quando si aggiunge un'attività al processo o si crea un nuovo cluster di processi. Qualsiasi cluster configurato quando si seleziona Nuovo cluster di processo è disponibile per qualsiasi attività nel processo.

Un cluster di processi condivisi ha come ambito un'esecuzione di un singolo processo e non può essere usato da altri processi o esecuzioni dello stesso processo.

Le librerie non possono essere dichiarate in una configurazione del cluster di processi condivisi. È necessario aggiungere librerie dipendenti nelle impostazioni delle attività.

Scegliere il tipo di cluster corretto per il processo

  • I nuovi cluster di processo sono cluster dedicati per un processo o un'esecuzione di attività. Un cluster di processi condivisi viene creato e avviato all'avvio della prima attività che usa il cluster e termina dopo il completamento dell'ultima attività che usa il cluster. Il cluster non viene terminato quando è inattiva, ma solo dopo il completamento di tutte le attività. Se un cluster di processi condivisi ha esito negativo o viene terminato prima del completamento di tutte le attività, viene creato un nuovo cluster. Un cluster con ambito per una singola attività viene creato e avviato all'avvio dell'attività e termina al termine dell'attività. Nell'ambiente di produzione, Databricks consiglia di usare nuovi cluster condivisi o con ambito attività in modo che ogni processo o attività venga eseguito in un ambiente completamente isolato.
  • Quando si esegue un'attività in un nuovo cluster, l'attività viene considerata come un carico di lavoro di ingegneria dei dati (attività) soggetto ai prezzi del carico di lavoro delle attività. Quando si esegue un'attività in un cluster all-purpose esistente, l'attività viene considerata come un carico di lavoro di analisi dei dati (tutto scopo), soggetto ai prezzi di tutti i carichi di lavoro.
  • Se si seleziona un cluster esistente terminato e il proprietario del processo dispone dell'autorizzazione CAN RESTART, Azure Databricks avvia il cluster quando il processo è pianificato per l'esecuzione.
  • I cluster all-purpose esistenti funzionano meglio per le attività, ad esempio l'aggiornamento dei dashboard a intervalli regolari.

Usare un pool per ridurre i tempi di avvio del cluster

Per ridurre l'ora di inizio del nuovo cluster di processi, creare un pool e configurare il cluster del processo per l'uso del pool.