Condividi tramite


Consigli sulla configurazione dell’ambiente di calcolo

Questo articolo include raccomandazioni e procedure consigliate relative alla configurazione di calcolo.

Se il carico di lavoro è supportato, Databricks consiglia di usare l'ambiente di calcolo serverless anziché configurare la propria risorsa di calcolo. Il calcolo serverless è l'opzione di calcolo più semplice e affidabile. Non richiede alcuna configurazione, è sempre disponibile e viene ridimensionata in base al carico di lavoro. Il calcolo serverless è disponibile per notebook, lavori e DLT. Consultare Connettersi al calcolo serverless.

Inoltre, gli analisti dei dati possono usare SQL Warehouse senza server per esplorare ed eseguire query sui dati su Databricks. Si veda Che cosa sono i warehouse SQL Serverless?.

Utilizzare i criteri di calcolo

Se si sta creando un nuovo calcolo da zero, Databricks consiglia di usare i criteri per l’ambiente di calcolo. I criteri per l’ambiente di calcolo consentono di creare risorse di calcolo preconfigurate progettate per scopi specifici, ad esempio calcolo personale, calcolo condiviso, utenti esperti e processi. I criteri limitano le decisioni da prendere durante la configurazione delle impostazioni di calcolo.

Se non si ha accesso ai criteri, contattare l'amministratore dell'area di lavoro. Si veda Criteri predefiniti e famiglie di criteri.

Considerazioni sul dimensionamento delle risorse di calcolo

Nota

I seguenti consigli presuppongono che la creazione di cluster non sia limitata. Gli amministratori dell'area di lavoro devono concedere questo privilegio solo agli utenti avanzati.

Spesso si pensa alle dimensioni dell’ambiente di calcolo in termini di numero di ruoli di lavoro, ma esistono altri fattori importanti da considerare:

  • Numero totale di core degli executor (calcolo): il numero totale di core in tutti gli executor. Ciò determina il parallelismo massimo di un ambiente di 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 eseguire lo spill su disco.
  • Archiviazione locale dell'executor: tipo e quantità di spazio di archiviazione su disco locale. Il disco locale è usato principalmente in caso di fuoriuscite durante le operazioni di shuffle e memorizzazione nella cache.

Ulteriori considerazioni riguardano il tipo e le dimensioni dell'istanza del ruolo di lavoro, che influenzano anche i fattori sopra menzionati. Quando si dimensiona l’ambiente calcolo, occorre tenere presente quanto segue:

  • Quanta quantità di dati consumerà 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.

C'è un equilibrio tra il numero di lavoratori e le dimensioni dei tipi di istanza di lavoratore. 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 configurazione dell’ambiente di calcolo

Gli esempi seguenti mostrano raccomandazioni per l’ambiente 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.

Nota

Tutti gli esempi in questa sezione (oltre al training di Machine Learning) potrebbero trarre vantaggio dall'uso di un ambiente di calcolo serverless anziché dalla rotazione di una nuova risorsa di calcolo. Se il carico di lavoro non è supportato in serverless, usare le raccomandazioni seguenti per configurare la risorsa di calcolo.

Analisi dei dati

Gli analisti dei dati eseguono in genere l'elaborazione che richiede dati da più partizioni, causando molte operazioni di rimescolamento. Una risorsa di calcolo con un numero ridotto di nodi più grandi può ridurre le operazioni di I/O su rete e disco necessarie per eseguire queste permutazioni.

Un calcolo a nodo singolo con un tipo di macchina virtuale di grandi dimensioni è probabilmente la scelta migliore, in particolare per un singolo analista.

I carichi di lavoro analitici richiederanno probabilmente la lettura ripetuta degli stessi dati, quindi i tipi di nodo consigliati sono quelli ottimizzati per l'archiviazione con cache del disco abilitata o istanze con archiviazione locale.

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.

Batch ETL elementare

Processi ETL batch semplici che non richiedono trasformazioni ampie, come join o aggregazioni, traggono generalmente vantaggio da Photon. Selezionare quindi un'istanza per utilizzo generico che supporta Photon.

Le istanze con requisiti inferiori per la memoria e l'archiviazione possono comportare risparmi sui costi rispetto ad altri tipi di lavoro.

Batch ETL complesso

Per un processo ETL complesso, come ad esempio uno che richiede unioni e join attraverso più tabelle, Databricks consiglia di usare meno lavoratori per ridurre la quantità di dati rimescolati. Per compensare il numero inferiore di lavoratori, aumenta la dimensione delle tue istanze.

Le trasformazioni complesse possono essere a elevato utilizzo di calcolo. Se osservi operazioni di scrittura su disco significative o errori di esaurimento della memoria, aumenta la quantità di memoria disponibile nelle istanze.

Facoltativamente, usare i pool per ridurre i tempi di avvio del calcolo e ridurre il runtime totale durante l'esecuzione di pipeline di processi.

Addestramento modelli di apprendimento automatico

Per addestrare modelli di machine learning, Databricks consiglia di creare una risorsa di calcolo usando la politica di calcolo personale.

È consigliabile usare una computazione a nodo singolo con un tipo di nodo grande per la sperimentazione iniziale con i modelli di training di Machine Learning. La presenza di un numero inferiore di nodi riduce l'impatto dei rimescolamenti.

L'aggiunta di più lavoratori può contribuire alla stabilità, ma è consigliabile evitare di aggiungere troppi lavoratori a causa del sovraccarico dovuto allo spostamento dei dati.

I tipi di lavoratori consigliati sono quelli ottimizzati per l'archiviazione con cache su disco abilitata oppure istanze con archiviazione locale, per gestire le letture ripetute degli stessi dati e abilitare la memorizzazione nella cache dei dati di addestramento.

Le funzionalità aggiuntive consigliate per i carichi di lavoro di apprendimento automatico 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 al tipo di istanza pre-approvato.
  • Garantire configurazioni di calcolo coerenti utilizzando politiche.