Condividi tramite


Procedure consigliate per la configurazione del calcolo

Questo articolo descrive le raccomandazioni per l'impostazione di configurazioni di calcolo facoltative. Per ridurre le decisioni di configurazione, Azure Databricks consiglia di sfruttare sia i criteri di calcolo serverless che i criteri di calcolo.

  • L'ambiente di calcolo serverless non richiede la configurazione delle impostazioni di calcolo. Il calcolo serverless è sempre disponibile e viene ridimensionato in base al carico di lavoro. Vedere Tipi di calcolo.

  • I criteri di calcolo consentono di creare risorse di calcolo preconfigurate progettate per casi d'uso specifici, ad esempio calcolo personale, calcolo condiviso, utenti esperti e processi. Se non si ha accesso ai criteri, contattare l'amministratore dell'area di lavoro. Vedere Criteri predefiniti e famiglie di criteri.

Se si sceglie di creare risorse di calcolo con configurazioni personalizzate, le sezioni seguenti forniscono raccomandazioni per i casi d'uso tipici.

Nota

Questo articolo presuppone che la creazione di cluster non sia limitata. Gli amministratori dell'area di lavoro devono concedere questo privilegio solo agli utenti avanzati.

Considerazioni sul ridimensionamento delle risorse di calcolo

Persone spesso considerare le dimensioni di calcolo in termini di numero di ruoli di lavoro, ma esistono altri fattori importanti da considerare:

  • Totale core executor (calcolo): numero totale di core in tutti gli executor. Ciò determina il parallelismo massimo di un calcolo.
  • Memoria totale dell'executor: quantità totale di RAM in tutti gli executor. Ciò determina la quantità di dati che è possibile archiviare in memoria prima di disargerla su disco.
  • Archiviazione locale dell'executor: tipo e quantità di spazio di archiviazione su disco locale. Il disco locale viene usato principalmente in caso di perdite durante le sequenze casuali e la memorizzazione nella cache.

Altre considerazioni includono il tipo di istanza del ruolo di lavoro e le dimensioni, che influenzano anche i fattori precedenti. Quando si ridimensiona il calcolo, prendere in considerazione:

  • Quanti dati utilizzeranno il carico di lavoro?
  • Qual è la complessità di calcolo del carico di lavoro?
  • Da dove vengono letti i dati?
  • Come vengono partizionati i dati nell'archiviazione esterna?
  • Quanto parallelismo è necessario?

Rispondere a queste domande consentirà di determinare configurazioni di calcolo ottimali in base ai carichi di lavoro.

Esiste un equilibrio tra il numero di ruoli di lavoro e le dimensioni dei tipi di istanza del ruolo di lavoro. La configurazione del calcolo con due ruoli di lavoro, ognuno con 16 core e 128 GB di RAM, ha la stessa quantità di calcolo e memoria della configurazione del calcolo con 8 ruoli di lavoro, ognuno con 4 core e 32 GB di RAM.

Esempi di dimensionamento delle risorse di calcolo

Gli esempi seguenti mostrano raccomandazioni di calcolo basate su tipi specifici di carichi di lavoro. Questi esempi includono anche configurazioni per evitare e perché tali configurazioni non sono adatte ai tipi di carico di lavoro.

Analisi dei dati

Gli analisti dei dati eseguono in genere l'elaborazione che richiede dati da più partizioni, causando molte operazioni casuali. Il calcolo con un numero minore di nodi può ridurre le operazioni di I/O di rete e disco necessarie per eseguire queste sequenze casuali.

Se si scrive solo SQL, l'opzione migliore per l'analisi dei dati sarà un sql warehouse serverless.

Nota

Se l'area di lavoro è abilitata per l'anteprima pubblica di calcolo serverless, è possibile usare il calcolo serverless per eseguire l'analisi in Python o SQL. Vedere Calcolo serverless per notebook.

Se è necessario configurare un nuovo ambiente di calcolo, è probabile che un calcolo a nodo singolo con un tipo di macchina virtuale di grandi dimensioni sia la scelta migliore, in particolare per un singolo analista.

È probabile che i carichi di lavoro analitici richiedano la lettura ripetuta degli stessi dati, quindi i tipi di nodo consigliati sono ottimizzati per l'archiviazione con la cache del disco abilitata.

Altre funzionalità consigliate per i carichi di lavoro analitici includono:

  • Abilitare la terminazione automatica per assicurarsi che il calcolo venga terminato dopo un periodo di inattività.
  • Valutare la possibilità di abilitare la scalabilità automatica in base al carico di lavoro tipico dell'analista.
  • Prendere in considerazione l'uso di pool, che consentiranno di limitare le risorse di calcolo ai tipi di istanza pre-approvati e garantire configurazioni di calcolo coerenti.

ETL batch di base

Nota

Se l'area di lavoro è abilitata per il calcolo serverless per i flussi di lavoro (anteprima pubblica), è possibile usare il calcolo serverless per eseguire i processi. Vedere Calcolo serverless per notebook.

Processi ETL batch semplici che non richiedono trasformazioni wide, ad esempio join o aggregazioni, in genere traggono vantaggio dai tipi di lavoro ottimizzati per il calcolo.

I ruoli di lavoro ottimizzati per il calcolo hanno requisiti inferiori per la memoria e l'archiviazione e possono comportare risparmi sui costi rispetto ad altri tipi di lavoro.

ETL batch complesso

Nota

Se l'area di lavoro è abilitata per il calcolo serverless per i flussi di lavoro (anteprima pubblica), è possibile usare il calcolo serverless per eseguire i processi. Vedere Calcolo serverless per notebook.

Per un processo ETL complesso, ad esempio uno che richiede unioni e join in più tabelle, Databricks consiglia di ridurre il numero di ruoli di lavoro per ridurre la quantità di dati casuali.

Le trasformazioni complesse possono essere a elevato utilizzo di calcolo. Se si osservano errori significativi di perdita su disco o OOM, è necessario aggiungere altri nodi.

Databricks consiglia i tipi di lavoro ottimizzati per il calcolo. I ruoli di lavoro ottimizzati per il calcolo hanno requisiti inferiori per la memoria e l'archiviazione e possono comportare risparmi sui costi rispetto ad altri tipi di lavoro. Facoltativamente, usare i pool per ridurre i tempi di avvio del calcolo e ridurre il runtime totale durante l'esecuzione di pipeline di processi.

Training di modelli di Machine Learning

Databricks consiglia il calcolo a nodo singolo con un tipo di nodo di grandi dimensioni per la sperimentazione iniziale con i modelli di Machine Learning di training. La presenza di un numero inferiore di nodi riduce l'impatto delle sequenze casuali.

L'aggiunta di più ruoli di lavoro può contribuire alla stabilità, ma è consigliabile evitare di aggiungere troppi ruoli di lavoro a causa del sovraccarico dei dati casuali.

I tipi di lavoro consigliati sono ottimizzati per l'archiviazione con la memorizzazione nella cache del disco abilitata per tenere conto delle letture ripetute degli stessi dati e per abilitare la memorizzazione nella cache dei dati di training. Se le opzioni di calcolo e archiviazione fornite dai nodi ottimizzati per l'archiviazione non sono sufficienti, prendere in considerazione i nodi ottimizzati per la GPU. Un possibile svantaggio è la mancanza di supporto per la memorizzazione nella cache del disco con questi nodi.

Altre funzionalità consigliate per i carichi di lavoro di Machine Learning includono:

  • Abilitare la terminazione automatica per assicurarsi che il calcolo venga terminato dopo un periodo di inattività.
  • Usare i pool, che consentiranno di limitare il calcolo ai tipi di istanza pre-approvati e garantire configurazioni di calcolo coerenti.