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 Best Practices - Unsere Tipps für Anwender

Der Einstieg in das Workflowmanagement-Tool Airflow ist einfach. Mit einfachen Python-Skripten werden Workflows definiert, geplant und ausgeführt. Die gebotene Weboberfläche informiert den Anwender jederzeit über den Status der Workflowläufe und beschleunigt die Fehlerbehebung ungemein. Die umfangreiche Funktionalität überzeugt zudem Anwender in tausenden von Unternehmen. Einfach zu lernen - schwierig zu meistern: Gerade in der Anfangsphase besteht die Gefahr, einige Fallstricke zu übersehen. Diese sind jedoch vermeidbar! Wir möchten Ihnen aus diesem Grund mit diesem Beitrag unsere Apache Airflow Best Practices für das Workflowmanagement mitgeben.

Für diesen Artikel werden Kenntnisse über den grundsätzlichen Aufbau von Airflow vorausgesetzt. Wenn Ihnen die Begriffe Scheduler, Operator und DAG zunächst nichts sagen, lesen Sie gerne hier weiter oder werfen Sie einen Blick in unser Whitepaper zum Thema Apache Airflow 2.0.

 

  • Planen Sie Wartungen ein

Früher oder später kommt ein Moment in dem ein Workflow vorübergehend nicht ausführbar ist. Bei einer Systemumstellung oder Wartung ist beispielsweise die Datenquelle temporär nicht erreichbar. Über die Weboberfläche oder das CLI kann der Workflow einfach pausiert werden. Problematisch ist meistens der Wiedereinstieg. Standardmäßig werden verpasste Läufe nachgeholt, was zu einer Überlastung des Systems führen kann. Sollen die Workflowläufe nicht nachgeholt werden, empfiehlt sich die Verwendung des Parameters catchup=False in der Workflowkonfiguration und die Verwendung des LatestOnlyOperators als Workfloweinstieg, um nur den aktuellsten Lauf auszuführen. 

  • Halten Sie Ihre Workflow-Files aktuell

Die Versionierung und das Deployment von Programmcode ist in der IT ein ständig wiederkehrendes Thema. Da die Workflows in Airflow selbst mit Python-Code generiert werden, muss auch ein Weg gefunden werden, um diese aktuell zu halten. In der Praxis bietet sich auf einfachste Weise eine Synchronisation mit einem Git-Repository an. Airflow lädt die Dateien aus dem dags Ordner im Airflow-Verzeichnis. Dort kann ein Unterordner angelegt werden, der mit dem Git-Repo verknüpft ist. Die Synchronisierung selbst kann über einen Workflow mit einem BashOperator und dem entsprechenden pull-Request realisiert werden. Andere Dateien, die innerhalb eines Workflows benutzt werden, (im Machine Learning Bereich beispielsweise das Trainingsskript) sind auch über ein Git-Repository synchronisierbar. Der Pull-Request kann hier zu Beginn des Workflows stattfinden. 

  • Verschieben Sie das Data Processing in separate Skripte

Ein Workflow wird in der Python-Datei über ein DAG-Objekt angelegt. Dieses enthält die einzelnen Workflowschritte und regelt die Reihenfolge. Die eigentliche Arbeit findet dann innerhalb der Aufgaben während der Ausführung statt. Sehr oft sind jedoch wesentliche Schritte der Datenverarbeitung in der DAG-Datei angelegt, die eigentlich nur den Workflow definieren soll. Das ist problematisch, da die Datei innerhalb von Sekunden lesbar sein muss. Das Workflow-File wird in sehr kurzen Intervallen evaluiert, um die Änderungen direkt übertragen zu können.
Um die Datei schlank zu halten, bietet sich somit die Verwendung von Modulen an. Auf die importierten Funktionen kann mittels PythonOperator zugegriffen werden. Für ein vereinfachtes Anlegen, steht dann auch die TaskflowAPI seit Airflow 2.0 zur Verfügung.


TaskFlow_Mit der TaskFlow-API lassen sich neue Workflows als Reihenschaltung von
Python-Funktionen leicht definieren

  • Nutzen Sie Variablen für mehr Flexibilität

In Airflow gibt es viele Wege die DAG-Objekte flexibler zu gestalten. Während der Laufzeit werden jedem Workflowlauf Kontext-Variablen übergeben. Hierzu zählen die Run-ID, das Ausführungsdatum und die Zeitpunkte des letzten und nächsten Laufes. Diese sind schnell in ein SQL-Statement integriert. So kann beispielsweise der Datenzeitraum an das eingestellte Ausführungsintervall angepasst werden. Airflow bietet eine zusätzliche Möglichkeit, Variablen in der Metadaten-Datenbank zu speichern. Diese sind über die Weboberfläche, die API und die CLI anpassbar. Hiermit kann zum Beispiel ein Dateipfad flexibel gehalten werden.
Praxistipp: Für jeden Aufruf einer Variable aus der Metadatenbank ist eine separate Connection erforderlich. Damit die Verbindungsanzahl nicht gesprengt wird, empfiehlt es sich, zusammengehörige Variablen als JSON-Objekt zu speichern.


Optimieren Sie Ihr Workflowmanagement
mit Apache Airflow

NextLytics Whitepaper Apache Airflow


  • Haben Sie ein Auge auf die Zeit

Zeit spielt in Airflow die Hauptrolle. Die Ausführung sämtlicher Workflows ist präzise zeitgesteuert. Ironischerweise sorgt das Zeit-Konzept an mehreren Punkten für Verwirrung. Beispielsweise entspricht die Ausführungszeit (execution_time) nicht der wirklichen Laufzeit. Die execution time bezeichnet vielmehr den Startzeitstempel seiner Planungsperiode. Die eigentliche Laufzeit ist erst am Ende der Periode.
Beispiel: Ist der erste Lauf am 2021-01-01 um 09:00 geplant und soll alle 24h wiederholt werden, ist die erste Laufzeit am 2021-01-02 um 08:59. Problematisch kann diese Verschiebung sein, wenn die Ausführungszeit als Kontext-Variablen fehlerhaft in einem SQL Statement genutzt wird. Langfristig gesehen wird es in Apache Airflow eine Option geben, um zwischen der Ausführung am Anfang und am Ende eines Intervalls umzuschalten.

Workflow_schedulePraxistipp: Wenn zudem auf Dauer das gedankliche Umrechnen der UTC-Zeit aus der Weboberfläche zu anstrengend wird, gibt es seit Airflow 1.10.10 die Möglichkeit, in der Weboberfläche die benutzerbezogene Zeitzone einzustellen.

  • Setzen Sie Prioritäten

Sobald mehrere Workflows gleichzeitig um die Ausführung kämpfen, entstehen temporäre Engpässe. Welcher Workflow hierbei bevorzugt wird, kann mit den Parameter priority_weight gesteuert werden. Der Parameter wird pro einzelne Aufgabe gesetzt oder kann als Standardargument für den gesamten DAG übergeben werden. Die Latenzzeit beim Starten eines Workflows kann seit Airflow 2.0 zudem über mehrere Scheduler-Instanzen reduziert werden.

  • Definieren Sie Service Level Agreements (SLA)

In Airflow kann eine Zeit definiert werden, in der eine Aufgabe oder der gesamte Workflow erfolgreich durchgeführt werden muss. Falls diese Zeitschranke überschritten wird, werden die zuständigen Personen informiert und das Event in der Datenbank festgehalten. Auf dieser Basis kann nach Auffälligkeiten gesucht werden, die zu der Verzögerung geführt haben. Beispielsweise kann eine unüblich hohe Datenmenge vorliegen.

Noch nicht genug? In unserem Whitepaper haben wir für Sie weitere praktische Tipps für den Einsatz von Apache Airflow zusammengefasst. Wir helfen Ihnen gerne auch persönlich bei individuellen Fragen zur bestmöglichen Gestaltung Ihres Workflowmanagements. Sprechen Sie uns an und profitieren Sie von der umfangreichen Praxiserfahrung unserer Berater.

Erfahren Sie mehr über Apache Airflow

,

avatar

Markus Suhr

Markus Suhr ist seit 2022 als Senior Berater für Machine Learning und Data Engineering bei der NextLytics AG tätig. Mit einschlägiger Erfahrung als Systemarchitekt und Teamleiter im Bereich Data Engineering kennt er sich bestens mit Microservices, Datenbanken und Workflow Orchestrierung aus - insbesondere im Bereich der Open Source Lösungen. In seiner Freizeit versucht er, das komplexe System des Gemüseanbaus im eigenen Garten zu optimieren.

Sie haben eine Frage zum Blog?
Fragen Sie Markus Suhr

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