Ausführungsdetails

Dataflow bietet den Tab Ausführungsdetails in der webbasierten Monitoring-Benutzeroberfläche. Mit diesem Tool können Sie die Leistung für Ihre Jobs optimieren und herausfinden, warum Ihr Job möglicherweise langsamer ist oder hängen bleibt. Dieses Dokument richtet sich an alle Dataflow-Nutzer, die die Ausführungsdetails ihrer Dataflow-Jobs überprüfen möchten.

Diese Seite bietet eine allgemeine Zusammenfassung der Ausführungsdetails und ihrer Benutzeroberfläche. Weitere Informationen zur Fehlerbehebung finden Sie unter Ausführungsdetails-Tab nutzen.

Terminologie

Um die Ausführungsdetails effektiv zu nutzen, müssen Sie wissen, was folgende Schlüsselkonzepte für Dataflow-Jobs bedeuten:

Dataflow-Terminologie

  • Fusion-Optimierung: Der Prozess von Dataflow, der mehrere Schritte oder Transformationen umfasst. Dadurch werden von Nutzern übermittelte Pipelines optimiert. Weitere Informationen finden Sie unter Fusion-Optimierung.
  • Phasen: Die Einheit der in Dataflow-Pipelines zusammengefassten Schritte.
  • Letzte Phase: Der letzte Knoten in Dataflow-Pipelines. Eine Pipeline kann mehrere endgültige Knoten haben.

Batchterminologie

  • Kritische Pfade: Die Abfolge von Phasen einer Pipeline, die zur gesamten Joblaufzeit beitragen. Beispielsweise schließt diese Sequenz die folgenden Phasen aus:
    • Zweige der Pipeline, die früher als der Gesamtjob abgeschlossen wurden.
    • Eingaben, die die nachgelagerte Verarbeitung nicht verzögert haben.
  • Worker: Compute Engine-VM-Instanzen, die einen Dataflow-Job ausführen.
  • Arbeitselemente: Die Arbeitseinheiten, die einem von Dataflow ausgewählten Bundle entsprechen.

Streamingterminologie

Wann werden Ausführungsdetails verwendet?

Im Folgenden sind gängige Szenarien für die Verwendung von Ausführungsdetails bei der Ausführung von Dataflow-Jobs aufgeführt:

  • Ihre Pipeline hängt fest und Sie möchten das Problem beheben.
  • Ihre Pipeline ist langsam und Sie möchten eine Pipeline-Optimierung vornehmen.
  • Es muss nichts korrigiert werden, aber Sie möchten die Ausführungsdetails der Pipeline einsehen, um Ihren Job zu verstehen.

Ausführungsdetails aktivieren

Die Ansicht Phasenworkflow ist automatisch für alle Batch- und Streaming-Jobs aktiviert. Batch- und Streamingjobs haben auch die Ansicht Phasenfortschritt und Batchjobs haben die zusätzliche Ansicht Workerfortschritt.

Dieses Feature verursacht keine zusätzliche CPU-, Netzwerk- und sonstige Nutzung für Ihre VMs. Die Ausführungsdetails werden vom Backend-Monitoring-System von Dataflow erfasst, das sich nicht auf die Leistung des Jobs auswirkt.

Nachdem Sie Ihren Job gestartet haben, können Sie den Tab Ausführungsdetails über die Dataflow-Monitoring-Oberfläche aufrufen. Weitere Informationen finden Sie unter Dataflow-Überwachungsoberfläche aufrufen.

Ausführungsdetails-Tab verwenden

Der Tab Ausführungsdetails enthält vier Ansichten: Phasenfortschritt, Phaseninfo (Feld innerhalb von Phasenfortschritt), Phasen-Workflow und Worker-Fortschritt. In diesem Abschnitt werden die einzelnen Ansichten erläutert und Beispiele für erfolgreiche und fehlgeschlagene Dataflow-Jobs bereitgestellt.

Phasenfortschritt für Batchjobs

In der Ansicht Phasenfortschritt für Batchjobs werden die Ausführungsphasen des Jobs sortiert nach Start und Ende angezeigt. Die Dauer wird durch einen Balken dargestellt. Beispielsweise können Sie anhand des längsten Balkens die längsten Ausführungsphase einer Pipeline visuell ermitteln.

Unter jedem Balken befindet sich eine Wortgrafik, die den Fortschritt der Phase im Zeitverlauf zeigt. Klicken Sie auf die Ein/Aus-Schaltfläche für den kritischen Pfad, um die Phasen hervorzuheben, die zur Gesamtlaufzeit des Jobs beigetragen haben. Außerdem können Sie über das Drop-down-Menü "Phasen filtern" speziell die Phasen auswählen, die Sie interessieren.

Ein Beispiel für die Ansicht „Phasenfortschritt“ für Batchjobs mit einer Visualisierung der Dauer für sechs verschiedene Ausführungsphasen.

Phasenfortschritt für Streamingjobs

Die Ansicht Phasenfortschritt für Streamingjobs kann in zwei Abschnitte unterteilt werden. Die obere Hälfte der Ansicht zeigt ein Diagramm mit der Datenaktualität für jede Ausführungsphase des Jobs. Wenn Sie den Mauszeiger über das Diagramm bewegen, wird der Wert für die Datenaktualität zu diesem bestimmten Zeitpunkt angezeigt. Die untere Hälfte der Ansicht zeigt die Ausführungsphasen des Jobs in einer topologischen Reihenfolge, wobei Phasen ohne untergeordnete Phasen oben und untergeordneten Ebenen darunter angezeigt werden. Diese Ansicht erleichtert das Identifizieren von Phasen einer Pipeline, die zu lange dauern. Die Balkengrößen sind relativ zur längsten Datenaktualität des gesamten Zeitbereichs.

Streamingjobs werden ausgeführt, bis sie abgebrochen, per Drain beendet oder aktualisiert werden. Mit der Zeitauswahl über dem Diagramm können Sie den Bereich auf einen nützlicheren Zeitraum eingrenzen. Außerdem können Sie über das Drop-down-Menü "Phasen filtern" speziell die Phasen auswählen, die Sie interessieren.

In der Ansicht Phasenfortschritt können Sie auf zwei verschiedene Arten leichter feststellen, wann Ihr Streamingjob langsam ist oder hängen bleibt:

  1. Das Diagramm "Datenaktualität nach Phasen" enthält die Anomalieerkennung, die automatisch Zeitfenster anzeigt, in denen die Datenaktualität fehlerhaft aussieht. Das Diagramm zeigt "potenzielles Hängenbleiben" an, wenn die Datenaktualität für das ausgewählte Zeitfenster das 99. Perzentil überschreitet. Entsprechend zeigt das Diagramm "potenzielle Verlangsamung" an, wenn die Datenaktualität das 95. Perzentil überschreitet.
  2. Engpässe können erkannt werden, indem Sie zuerst den Mauszeiger auf eine Zeit in der Tabelle bewegen, die ungewöhnlich aussieht. Wenn der Mauszeiger darauf bewegt wird, zeigen längere Balken langsamere Phasen an. Alternativ kann auf die x-Achse des Diagramms geklickt werden, um die Daten für diesen Zeitpunkt anzuzeigen. Ein gängiger Ansatz zur Ermittlung der Phase, die zu Hängenbleiben oder Verlangsamung führt, besteht darin, die vorgelagerte (oberste) oder am weitesten nachgelagerte (unterste) Phase zu finden, die den Ausschlag bei der Datenaktualität verursacht. Dieser Ansatz eignet sich nicht für alle Szenarien. Möglicherweise ist weitere Fehlerbehebung erforderlich, um die genaue Ursache zu ermitteln.

Ein Beispiel für die Ansicht „Phasenfortschritt“ für Streamingjobs, die eine Visualisierung der Dauer für eine Ausführungsphase und eine mögliche Langsamkeitsanomalie zeigt.

Feld „Phaseninfo“

Das Feld Phaseninfo zeigt eine Liste von Schritten an, die mit einer Phase verknüpft sind, sortiert nach absteigender Echtzeit. Das Feld wird auf der rechten Seite des Bildschirms geöffnet. Bewegen Sie zum Öffnen des Steuerfelds den Mauszeiger auf einen der Balken in der Ansicht Phasenfortschritt und klicken Sie auf Details ansehen.

Beispiel für das Feld "Phaseninfo"

Phasen-Workflow

Der Phasenworkflow zeigt die Ausführungsphasen des Jobs an, die als Workflowgrafik dargestellt werden. Um nur die Phasen anzeigen zu lassen, die direkt zur Gesamtlaufzeit des Jobs beigetragen haben, klicken Sie auf den Schalter Kritischer Pfad.

Ein Beispiel für die Phasen-Workflow-Ansicht, in der die Hierarchie der verschiedenen Ausführungsphasen eines Jobs angezeigt wird.

Worker-Fortschritt

Bei Batchjobs zeigt der Worker-Fortschritt die Worker für eine bestimmte Phase an. Diese Ansicht ist für Streamingjobs nicht verfügbar.

Jeder Balken ist einem Arbeitselement zugeordnet, der für einen Worker geplant ist. Unter jedem Worker finden Sie eine Sparkline, die die CPU-Auslastung auf dem Worker erfasst. Auslastungsprobleme können somit besser erkannt werden.

Aufgrund der Dichte dieser Visualisierung müssen Sie diese Ansicht filtern, indem Sie eine Phase vorab auswählen. Identifizieren Sie zuerst eine Phase in der Ansicht Phasenfortschritt. Bewegen Sie den Mauszeiger über diese Phase und klicken Sie auf Worker ansehen, um die Ansicht Worker-Fortschritt aufzurufen.

Ein Beispiel für die Fortschrittsanzeige des Workers. Die Worker haben Balken und Sparklines, die der Arbeitsplanung und CPU-Auslastung entsprechen.

Nächste Schritte