Diagnostizieren einer langen Phase in Spark
Beginnen Sie mit der Identifizierung der längsten Phase des Auftrags. Scrollen Sie zum Ende der Seite des Auftrags 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:
- Eingabe: Wie viele Daten in dieser Phase aus dem Speicher gelesen werden. Das 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 wissen, was Shuffle ist, ist jetzt ein guter Zeitpunkt, um zu lernen, was das bedeutet.
Notieren Sie sich diese Nummern, da Sie diese wahrscheinlich später benötigen.
Anzahl der Aufgaben
Die Anzahl der Aufgaben in der langen Phase kann Sie auf Ihr Problem hinweisen. Sie können die Anzahl der Aufgaben ermitteln, indem Sie hier nachschauen:
Wenn eine Aufgabe angezeigt wird, kann dies ein Anzeichen für ein Problem sein. Weitere Informationen finden Sie unter One Spark task.
Weitere Phasendetails anzeigen
Wenn die Phase über mehrere Aufgaben verfügt, sollten Sie weitere Untersuchungen durchführen. Klicken Sie auf den Link in der Beschreibung der Phase, um weitere Informationen über die längste Phase zu erhalten:
Nachdem Sie sich nun auf der Seite der Phase befinden, lesen Sie Schiefe und Überlauf.