Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
NextLytics Newsletter Teaser
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

Apache Airflow Metriken und Statistiken mit Superset überwachen

Apache Airflow ist die führende Open Source Workflow Orchestration Plattform und steuert zuverlässig die digitalen Routineprozesse von Unternehmen auf der ganzen Welt. Wenn Ihr Unternehmen Airflow als Orchestrierungsdienst einsetzt, steigt die Menge an Log- und Prozessmetadaten im täglichen Betrieb rasant an und wird zum Kostenfaktor. Gleichzeitig wollen Sie statistisch erfassen, wie Ihr System langfristig arbeitet: Wie viele Workflows (oder “DAGs” im Airflow-Jargon, vom englischen directed acyclic graphs) steuert Ihr System im Monat, Quartal oder Jahr? Wie häufig kommt es zu Fehlern und wie schnell erholt sich der betroffene Prozess wieder?

Um diese beiden gegensätzlichen Ziele zu vereinen, setzen wir bei unseren Kunden auf eine Kombination aus automatischer Metadaten-Archivierung und Visualisierung mittels der Open Source Business Intelligence Lösung Apache Superset.

Im heutigen Artikel stellen wir Ihnen beide Seiten vor: wie Sie Prozessmetadaten archivieren können und wie Sie ein einfaches Dashboard zum Monitoring der langfristigen Performance von Airflow in Superset erstellen können.

Open Source Dashboards mit Apache Superset

Apache Superset ist ein Alleskönner, wenn es um Datenvisualisierung geht, mit einer Fülle von Diagrammen, die sofort verfügbar sind, und der Möglichkeit, anspruchsvolle Dashboards zu erstellen, die auf die Bedürfnisse eines jeden zugeschnitten sind. Ein interessanter Anwendungsfall von Superset ist die Überwachung und Visualisierung von Protokollen und Metadaten, die von Apache Airflow ETL-Pipelineläufen generiert werden. DAG-Lauf-Fehlerquoten, Ausführungszeiten und Aggregationen nach Operator-Typ sind nur einige der Statistiken, die mit Superset berechnet und visualisiert werden können, was für Data-Engineering-Teams nützlich sein kann, um Rückschlüsse auf den Zustand ihrer Infrastruktur zu ziehen. 

Airflow DAG-Run Metadaten Archivieren

Apache Airflow nutzt eine operative Datenbank, die Informationen über den Zustand des Systems und sämtlicher Workflows speichert. Zwei der wichtigsten Tabellen sind "dag_run" und "task_instance", die Details über die Ausführung von DAGs und die einzelnen Aufgaben darin enthalten. Zu diesen Details gehören Zeitstempel für Start und Ende, Zustände der DAGs, Informationen über die verschiedenen Operatoren, die für jede Aufgabe verwendet werden, die entsprechende Konfiguration und vieles mehr. Die in diesen Tabellen enthaltenen Informationen sind mehr als ausreichend, um mit Apache Superset aussagekräftige Plots und Diagramme über langfristige Qualitätsparameter zu erstellen. Da der Speicherbedarf für all diese Informationen aber schon bei einigen Dutzend aktiven DAGs rasant ansteigt, ist es gängige Betriebspraxis, regelmäßig Prozessmetadaten zu löschen, die ein bestimmtes Alter überschritten haben.

Um die wertvollen Informationen nicht zu verlieren, implementieren wir einen einfachen Archivierungs-DAG, der die Datensätze aus den Tabellen "dag_run" und "task_instance" sichert und  sie in einer zusätzlichen Archivdatenbank speichert. Bei jedem DAG-Lauf werden nur die neuesten Einträge zum Einfügen ausgewählt, so dass Duplikate vermieden werden.

airflow-superset-dags_Airflow Metrics

 

Superset Diagramme & Dashboards

Apache Superset ermöglicht es uns, Diagramme und Grafiken zu erstellen und sie in Dashboards zu organisieren. Jedes Diagramm hängt von einem Dataset oder einer SQL-Abfrage ab, die wiederum mit einer Datenquelle verbunden ist. Superset bietet eine Fülle von Konnektoren für alle gängigen DBMS. Zudem ist es grundsätzlich möglich über SQLAlchemy-URIs eine Verbindung zu praktisch jeder Datenquelle herzustellen. Der erste Schritt besteht darin, die Datenbank, die die Tabellen "dag_run" und "task_instance" (extrahiert mit dem Airflow DAG) enthält, mit Superset zu verbinden.

Screenshot 2023-06-26 at 11-57-51 Superset_Airflow Metrics

Wir geben die Anmeldedaten an und die Verbindung wird hergestellt. Superset verwendet das Konzept der "Datensätze" als Quellen für seine Diagramme. Es gibt mehrere Möglichkeiten, ein Dataset zu erstellen. Wir können eine Datenbanktabelle als Dataset aus der Quelle angeben, mit der wir uns gerade über die Benutzeroberfläche verbunden haben. Ein anderer Ansatz besteht darin, eine SQL-Abfrage zu schreiben, die auf die Quelle zugreift, und die Ergebnisse als Dataset zu speichern. Während die erste Variante einfacher zu handhaben ist, bietet die zweite mehr Flexibilität und ermöglicht komplexere Datenaggregationen, wie z. B. die Verknüpfung mehrerer Tabellen. Im Grunde kann jede gültige "SELECT"-Abfrage als Datensatz verwendet werden. Zu diesem Zweck definieren wir über SQL Lab eine Abfrage, die die Ausführungszeit jedes DAG berechnet.

Screenshot 2023-06-26 at 12-31-38 Superset_Airflow Metrics

Andere notwendige SQL-Abfragen können auf ähnliche Weise definiert werden. Nun können wir mit der Erstellung von Diagrammen auf der Grundlage der soeben definierten Datensätze und Abfragen beginnen. Einige der interessantesten sind:

  • DAG-Laufzustände.
  • Anzahl der Aufgabensteller.
  • DAG-Ausführungszeit (Verteilung und Durchschnittswerte).
  • Ausführungszeit der Aufgabe (Verteilung und Durchschnittswerte).

Optimieren Sie Ihr Workflowmanagement mit Apache Airflow!

NextLyitcs Whitepaper Apache Airflow DE


DAG-Laufzustände

Dieses Diagramm ist recht einfach zu erstellen, da die Tabelle "dag_run" eine Spalte "state" enthält, so dass keine zusätzlichen Berechnungen erforderlich sind.

Screenshot 2023-06-26 at 12-55-52 DAG Run State_Airflow Metrics

Dies ist ein einfaches Balkendiagramm, das die Vorkommen jedes möglichen Zustands zählt, in dem sich ein DAG befinden kann. Es ist im Wesentlichen gleichbedeutend mit der Ausführung von "SELECT state, COUNT(*) from dag_run GROUP BY state;". Diese Abfrage zählt die Vorkommnisse jedes möglichen Zustands ("success", "failed" und "running"). Die meisten DAGs werden erfolgreich ausgeführt, und eine Handvoll DAGs ist noch in Betrieb.

Anzahl der Aufgabensteller

Ein ähnliches Diagramm ist dasjenige, das die Gesamtzahl der eingesetzten Airflow Operatoren zählt.

Screenshot 2023-06-26 at 12-58-35 Task Operators_Airflow Metrics

Dies entspricht wiederum der Ausführung von "SELECT operator, COUNT(*) FROM task_instance GROUP BY operator;". Wie oben, zählt diese Abfrage das Vorkommen von Task-Operatoren. Ein großer Teil der Operatoren besteht aus Python-Dekorationsoperatoren, da die TaskFlow-API häufig verwendet wird.

DAG-Ausführungszeit

Eine nützliche Metrik zur Visualisierung ist die Verteilung der Ausführungszeit der DAGs. Zu diesem Zweck verwenden wir die Ergebnisse der SQL-Abfrage, die wir zuvor definiert haben.

Screenshot 2023-06-26 at 13-09-00 DAG Execution Time_Airflow Metrics

Es ist ziemlich offensichtlich, dass die Mehrheit der DAG-Ausführungen innerhalb von 0 bis 5 Sekunden abgeschlossen wird. Wir können die Ausführungszeit basierend auf der DAG-ID aggregieren und erhalten einen Überblick über die durchschnittliche Ausführungszeit pro DAG.

Screenshot 2023-06-26 at 15-15-50 Average DAG Execution Time_Airflow Metrics

Die zeitaufwändigste DAG scheint die DAG "Test_SFTPOperator" zu sein, deren durchschnittliche Ausführungszeit fast doppelt so hoch ist wie die der zweiten DAG.

Ausführungszeit der Aufgabe

Die Diagramme zur Veranschaulichung der Ausführungszeit von Aufgaben ähneln den vorherigen Diagrammen, bieten jedoch einen detaillierteren Einblick, da sie auf potenzielle Engpässe bei der Ausführung bestimmter Aufgaben hinweisen, die eventuell beachtet werden müssen.

Screenshot 2023-06-27 at 09-50-16 Task Execution Time_Airflow Metrics

Ausgehend von der Verteilung der Aufgabenausführungszeit wird deutlich, dass fast jede Aufgabe innerhalb von 5 Sekunden abgeschlossen wird. Aggregiert man nach Aufgabenkennung, kann man sehen, wie sich die einzelnen Aufgaben verhalten.

Screenshot 2023-06-27 at 09-53-25 Average Task Execution Time

Die Aufgabe "create_testfile" ist mit einer durchschnittlichen Ausführungszeit von über 7 Sekunden bei weitem die zeitaufwändigste. Superset bietet eine Warnfunktion, mit der eine E-Mail gesendet werden kann, wenn ein überwachter Wert einen bestimmten Schwellenwert überschreitet. Wenn zum Beispiel eine Aufgabe ungewöhnlich lange läuft, kann eine E-Mail-Benachrichtigung an das für Airflow zuständige Team gesendet werden.

Erstellen eines Dashboards

Um einen umfassenderen Überblick über die Infrastruktur der ETL-Pipelines zu erhalten, stellen wir aus den verschiedenen Diagrammen ein vollstädniges Airflow Monitoring Dashboard zusammen: 

Screenshot 2023-06-27 at 09-55-21 Airflow Statistics_Airflow Metrics

Die Kacheln können nach dem Ermessen des Analysten gezoomt, neu angeordnet und manipuliert werden. Der Airflow-DAG, die für das Laden der Tabellen in die Archivdatenbank verantwortlich ist, kann so geplant werden, dass er häufig ausgeführt wird, um das Dashboard auf dem neuesten Stand zu halten.

Wir haben Ihnen in diesem Artikel einen Einblick gegeben, wie Sie Leistungsindikatoren von Apache Airflow langfristig sichern und mit Apache Superset leicht zugänglich visualisieren können. Wenn Sie Ihre eigene Instanz von Superset einrichten möchten oder ein Expertenfeedback für Ihren Anwendungsfall wünschen, nehmen Sie noch heute Kontakt mit uns auf.

Erfahren Sie mehr über Apache Airflow

, ,

avatar

Apostolos Kouzoukos

Apostolos ist seit 2022 als Data Engineering Consultant für die NextLytics AG tätig. Er verfügt über Erfahrung in Forschungsprojekten zu Deep-Learning-Methoden und deren Anwendungen im Fintech-Bereich sowie über einen Hintergrund in der Backend-Entwicklung. In seiner Freizeit spielt er gerne Gitarre und hält sich mit den neuesten Nachrichten aus den Bereichen Technologie und Wirtschaft auf dem Laufenden.

Sie haben eine Frage zum Blog?
Fragen Sie Apostolos Kouzoukos

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Verwandte Beiträge

Letzte Beiträge