Overload del driver Spark
Quindi si è determinato che il driver è sovraccarico. Il motivo più comune è che nel cluster sono in esecuzione troppi elementi simultanei. Potrebbe trattarsi di troppi flussi, query o processi Spark (alcuni clienti usano thread per eseguire molti processi Spark simultaneamente).
Potrebbe anche essere necessario eseguire codice non Spark nel cluster che mantiene occupato il driver. Se si riscontrano lacune nella sequenza temporale causata dall'esecuzione di codice non Spark, ciò significa che i lavoratori sono tutti inattivi e probabilmente sprecare denaro durante le lacune. Forse questo è intenzionale e inevitabile, ma se è possibile scrivere questo codice per usare Spark si userà completamente il cluster. Iniziare con questa esercitazione per informazioni su come usare Spark.
Se sono presenti troppi elementi in esecuzione contemporaneamente nel cluster, sono disponibili tre opzioni:
- Aumentare le dimensioni del driver
- Ridurre la concorrenza
- Distribuire il carico su più cluster
Azure Databricks consiglia di provare prima a raddoppiare le dimensioni del driver e vedere come influisce sul processo.