Zeitachse „Aufträge“
Die Zeitachse für Aufträge ist ein guter Ausgangspunkt, um Ihre Pipeline oder Abfrage zu verstehen. Sie erhalten einen Überblick darüber, welche Elemente ausgeführt wurden, wie lange die einzelnen Schritte dauerten und ob Fehler aufgetreten sind.
Öffnen der Zeitachse „Aufträge“
Klicken Sie auf der Spark-Benutzeroberfläche auf Aufträge und Ereigniszeitachse, wie im folgenden Screenshot rot hervorgehoben. Die Zeitachse wird angezeigt. In diesem Beispiel wird gezeigt, wie der Treiber und der Executor 0 hinzugefügt werden:
Suchschwerpunkte
In den folgenden Abschnitten wird erläutert, wie Sie anhand der Ereigniszeitachse die mögliche Ursache von Leistungs- oder Kostenproblemen ermitteln. Wenn Sie einen dieser Trends in Ihrer Zeitachse bemerken, ist am Ende der einzelnen Abschnitte jeweils ein Link zu einem Artikel enthalten, der Anleitungen enthält.
Fehlerhafte Aufträge oder Executors
Hier sehen Sie ein Beispiel für einen fehlerhaften Auftrag und entfernte Executors, die auf der Ereigniszeitachse durch einen roten Status angegeben sind:
Wenn fehlerhafte Aufträge oder fehlerhafte Executors angezeigt werden, lesen Sie die Informationen unter Fehlerhafte Aufträgen oder entfernte Executors.
Lücken bei der Ausführung
Suchen Sie nach Lücken von mindestens einer Minute wie in diesem Beispiel:
In diesem Beispiel gibt es mehrere Lücken, von denen einige durch die roten Pfeile hervorgehoben sind. Sind die auf der Zeitachse angezeigten Lücken eine Minute oder länger? Kurze Lücken sind zu erwarten, während der Treiber die Arbeit koordiniert. Wenn längere Lücken auftreten: Befinden sie sich in der Mitte einer Pipeline? Oder wird dieser Cluster konstant ausgeführt, und die Lücken können durch Pausen in der Aktivität erklärt werden? Möglicherweise können Sie dies anhand des Zeitpunkts ermitteln, zu dem Ihre Workload gestartet und beendet wurde.
Wenn lange unerklärte Lücken in der Mitte einer Pipeline angezeigt werden, lesen Sie die Informationen unter Lücken zwischen Spark-Aufträgen.
Lange Aufträge
Wird die Zeitachse von einem langen Auftrag oder einigen langen Aufträgen dominiert? Diese langen Aufträge sollten untersucht werden. Im folgenden Beispiel enthält die Workload einen Auftrag, der viel länger ist als die anderen. Dies ist ein gutes Ziel für die Untersuchung.
Klicken Sie auf den längsten Auftrag, um ihn genauer zu untersuchen. Informationen zum Untersuchen dieser langen Phase finden Sie unter Diagnostizieren einer langen Phase in Spark.
Viele kleine Aufträge
Hier suchen wir eine Zeitachse, die von sehr kleinen Aufträgen dominiert wird. Diese Ausgabe sieht ungefähr so aus:
Beachten Sie die ganzen kurzen blauen Linien. Jede von ihnen ist ein kleiner Auftrag, der höchstens ein paar Sekunden dauerte.
Wenn Ihre Zeitachse aus meist kleinen Aufträgen besteht, lesen Sie die Informationen unter Viele kleine Spark-Aufträge.
Keine der oben genannten Antworten trifft zu.
Wenn die Zeitachse nicht wie eine der obigen Zeitachsen aussieht, besteht der nächste Schritt darin, den längsten Auftrag zu identifizieren. Sortieren Sie die Aufträge nach Dauer, und klicken Sie auf den Link in der Beschreibung für den längsten Auftrag:
Wenn Sie sich auf der Seite für den längsten Auftrag befinden, können Sie zusätzliche Informationen zum Untersuchen dieser langen Phase unter Diagnostizieren einer langen Phase in Spark einsehen.