Diagnostizieren einer langen Phase in Spark
Beginnen Sie mit der Identifizierung der längsten Phase des Auftrags. Scrollen Sie zum Ende der Auftragsseite zur Liste der Phasen, und ordnen Sie sie nach Dauer an:
Details zur Phasen-E/A
Sehen Sie sich die Spalten Input (Eingabe), Output (Ausgabe), Shuffle Read (Shufflelesevorgang) und Shuffle Write (Shuffleschreibvorgang) an, um allgemeine Daten darüber zu erhalten, was in der jeweiligen Phase vorgegangen ist.
Die Spalten bedeuten Folgendes:
- Output: Hier wird angezeigt, wie viele Daten diese Phase aus dem Speicher gelesen hat. Dies könnten Lesevorgänge beispielsweise aus Delta, Parkett oder CSV sein.
- Output: Hier wird angezeigt, wie viele Daten diese Phase in den Speicher geschrieben hat. Dies könnten Schreibvorgänge beispielsweise in Delta, Parquet oder CSV sein.
- Shuffle Read: Hier wird angezeigt, wie viele Shuffledaten von dieser Phase gelesen werden.
- Shuffle Write: Hier wird angezeigt, wie viele Shuffledaten von dieser Phase geschrieben werden.
Wenn Sie nicht mit der Vorgehensweise von Shuffle vertraut sind, ist nun ein guter Zeitpunkt, dies zu lernen.
Notieren Sie sich diese Nummern, da Sie sie wahrscheinlich später benötigen.
Anzahl von Aufgaben
Die Anzahl der Vorgänge in der langen Phase kann auf die Richtung Ihres Problems hinweisen. Sie können hier die Anzahl der Aufgaben ermitteln:
Wenn eine Aufgabe angezeigt wird, kann dies ein Anzeichen für ein Problem sein. Weitere Informationen finden Sie unter Eine Spark-Aufgabe.
Anzeigen weiterer Phasendetails
Wenn die Phase mehr als eine Aufgabe aufweist, sollten Sie dies weiter untersuchen. Klicken Sie auf den Link in der Beschreibung der Phase, um weitere Informationen zur längsten Phase zu erhalten:
Nachdem Sie sich nun auf der Seite der Phase befinden, lesen Sie Schiefe und Überlauf.