Schiefe und Überlauf
Überlauf
Die erste Sache, nach der in einer zeitintensiven Phase gesucht wird, ist, ob Überlauf vorhanden ist.
Oben auf der Seite der Phase werden Details angezeigt, die Statistiken zum Überlauf enthalten können:
Ein Überlauf geschieht, wenn Spark wenig Arbeitsspeicher hat. Spark beginnt, Daten vom Arbeitsspeicher auf den Datenträger zu verschieben, und dies kann ziemlich teuer sein. Dies geschieht am häufigsten beim Datenshuffling.
Wenn keine Statistiken für einen Überlauf angezeigt werden, bedeutet dies, dass die Phase keinen Überlauf aufweist. Wenn die Phase einen Überlauf hat, lesen Sie diesem Leitfaden, in dem es darum geht, wie sie mit Überlauf umgehen können, der durch Shuffle verursacht wird.
Schiefe
Als Nächstes möchten wir prüfen, ob Schiefe vorliegt. Schiefe bedeutet, dass ein Vorgang oder ein paar Vorgänge viel länger dauern als der Rest. Dies führt zu einer schlechten Clusterauslastung und längeren Aufträgen.
Scrollen Sie nach unten zu den Zusammenfassungsmetriken. Wir suchen hauptsächlich nach der Max Dauer, die viel höher als die Dauer des 75. Perzentils ist. Der folgende Screenshot zeigt eine gesunde Phase, in der das 75. Perzentil und Max identisch sind:
Wenn die Max-Dauer 50 % höher als das 75. Perzentil ist, liegt möglicherweise Schiefe vor.
Wenn eine Scherung auftritt, sehen Sie sich hier die Schritte zur Behebung an.
Keine Schiefe bzw. kein Überlauf
Wenn keine Schiefe oder kein Überlauf angezeigt wird, wechseln Sie zurück zur Auftragsseite, um einen Überblick über den aktuellen Zustand zu erhalten. Scrollen Sie nach oben auf der Seite, und klicken Sie auf Zugeordnete Auftrags-IDs:
Wenn die Phase keinen Überlauf oder keine Schiefe hat, lesen Sie Hoher E/A für Spark-Phase für die nächsten Schritte.