Raccomandazioni sull'ottimizzazione in Azure Databricks

Azure Databricks offre molte ottimizzazioni che supportano un'ampia gamma di carichi di lavoro nella lakehouse, che vanno dall'elaborazione ETL su larga scala alle query interattive ad hoc. Molte di queste ottimizzazioni vengono eseguite automaticamente. È possibile ottenere i vantaggi semplicemente usando Azure Databricks. Inoltre, la maggior parte delle funzionalità di Databricks Runtime richiede Delta Lake, il livello di archiviazione predefinito usato per creare tabelle in Azure Databricks.

Azure Databricks configura i valori predefiniti che ottimizzano la maggior parte dei carichi di lavoro. In alcuni casi, tuttavia, la modifica delle impostazioni di configurazione migliora le prestazioni.

Miglioramenti delle prestazioni di Databricks Runtime

Nota

Usare la versione più recente di Databricks Runtime per sfruttare i miglioramenti delle prestazioni più recenti. Tutti i comportamenti documentati qui sono abilitati per impostazione predefinita in Databricks Runtime 10.4 LTS e versioni successive.

Raccomandazioni di Databricks per prestazioni migliorate

  • È possibile clonare le tabelle in Azure Databricks per creare copie profonde o superficiali dei set di dati di origine.
  • L'ottimizzatore basato sui costi accelera le prestazioni delle query sfruttando le statistiche delle tabelle.
  • È possibile usare Spark SQL per interagire con dati JSON semistrutturati senza analizzare stringhe.
  • Le funzioni di ordine superiore offrono prestazioni predefinite ottimizzate per molte operazioni che non dispongono di operatori Spark comuni. Le funzioni di ordine superiore offrono un vantaggio sulle prestazioni rispetto alle funzioni definite dall'utente.
  • Azure Databricks offre una serie di operatori predefiniti e una sintassi speciale per l'uso di tipi di dati complessi, tra cui matrici, struct e stringhe JSON.
  • È possibile ottimizzare manualmente le impostazioni per i join che includono intervalli o contenere dati con asimmetria secondaria.

Comportamenti di consenso esplicito

  • Azure Databricks offre una garanzia di isolamento serializzabile di scrittura per impostazione predefinita; la modifica del livello di isolamento in serializzabile può ridurre la velocità effettiva per le operazioni simultanee, ma potrebbe essere necessario quando è necessaria la serializzabilità di lettura.
  • È possibile usare indici di filtro bloom per ridurre la probabilità di analisi dei file di dati che non contengono record corrispondenti a una determinata condizione.