Jedno zadanie platformy Spark
Jeśli widać długotrwały etap z tylko jednym zadaniem, prawdopodobnie jest to oznaka problemu. Kiedy do jedno zadanie jest uruchomione tylko jeden procesor CPU, a reszta klastra może być bezczynna. Może się to zdarzyć w następujących sytuacjach:
- Kosztowna funkcja UDF na małych danych
- funkcja okna bez instrukcji
PARTITION BY
- Odczyt z nierozdzielnego typu pliku. Oznacza to, że plik nie może być odczytywany w wielu częściach, więc kończy się to jednym dużym zadaniem. Gzip to przykład nierozdzielnego typu pliku.
- Ustawianie opcji
multiLine
podczas odczytywania pliku JSON lub CSV - Wnioskowanie schematu dużego pliku
- Korzystanie z operatora repartition(1) lub coalesce(1)