Przeciążony sterownik platformy Spark
Ustaliliśmy więc, że sterownik jest przeciążony. Najczęstszą przyczyną tego jest zbyt wiele współbieżnych elementów uruchomionych w klastrze. Może to być zbyt wiele strumieni, zapytań lub zadań platformy Spark (niektórzy klienci używają wątków do współbieżnego uruchamiania wielu zadań platformy Spark).
Może być również to, że używasz kodu innego niż Spark w klastrze, który utrzymuje zajęty sterownik. Jeśli widzisz luki na osi czasu spowodowane uruchomieniem kodu innego niż Spark, oznacza to, że wszyscy pracownicy są bezczynni i prawdopodobnie marnują pieniądze podczas przerw. Być może jest to celowe i nieuniknione, ale jeśli możesz napisać ten kod, aby użyć platformy Spark, w pełni wykorzystasz klaster. Zacznij od tego samouczka , aby dowiedzieć się, jak pracować z platformą Spark.
Jeśli masz jednocześnie zbyt wiele elementów uruchomionych w klastrze, masz trzy opcje:
- Zwiększ rozmiar sterownika
- Zmniejszanie współbieżności
- Rozłożenie obciążenia na wiele klastrów
Usługa Azure Databricks zaleca, aby najpierw spróbować podwojć rozmiar sterownika i zobaczyć, jak ma to wpływ na zadanie.