Die Veröffentlichung einer neuen Softwareversion kann erhebliche Herausforderungen für data engineers mit sich bringen. Wer Apache Airflow nutzt und bereits mit Airflow 2.0 gearbeitet hat, wird sicher zustimmen, dass selbst kleine Änderungen die Funktionsweise von DAGs komplett verändern oder sogar blockieren können. Hat sich Airflow zum Besseren gewandelt? Wie kann man das Setup mit DAG Versioning und Serialization vereinfachen?
Obwohl einige Funktionen früherer Versionen erhalten geblieben sind, gibt es wichtige Änderungen im neuen Airflow, zum Beispiel ein vollständiges REST API. Das kann beim Upgrade neue Herausforderungen mit sich bringen, aber es gibt auch Modifikationen, die die tägliche Arbeit der data engineers vereinfachen. Lies unten mehr über DAG versioning und serialization.
Airflow 2.0 — was hat sich geändert?
Die Einführung einer neuen Softwareversion ist für die Profis, die sie täglich nutzen, immer mit einer Mischung aus Vorfreude und Sorge verbunden. Werden die Änderungen die Effizienz des Teams positiv oder negativ beeinflussen? Passt das neue Programm zu den Anforderungen deines Unternehmens? Wird es einfach sein, sich daran zu gewöhnen? Es gibt viele Fragen, aber Airflow 2.0 ist bereits da, also kannst du sie selbst beantworten oder an der Diskussion teilnehmen. Du kannst uns jederzeit für Support kontaktieren, aber hier sind einige der wichtigsten Änderungen, die du kennen solltest:
- Redesigned user interface — das neue, übersichtliche und leicht lesbare Dashboard ist definitiv eine positive Veränderung.
- Efficient scheduler — der scheduler ist eine der Kernfunktionen von Airflow und dank der Modifikationen ist seine performance jetzt viel besser als zuvor. Es ist auch möglich, mehrere scheduler-Instanzen im active/active-Modell zu betreiben, was die availability und failover erhöht – entscheidend für die Stabilität der jeweiligen Airflow-Lösung.
- Complete REST API — das neue, vollständig unterstützte API kann beim Upgrade einige Probleme verursachen, erleichtert aber definitiv den Zugriff auf third-party Plattformen.
- Smart sensors — im neuen Airflow wirst du eine verbesserte efficiency von long-running tasks durch DAG-Zentralisierung und batch processing feststellen.
- DAG serialization — im neuen Airflow wird das Parsen der DAGs vom Systemserver anders gehandhabt, da nur der scheduler Zugriff auf die DAG-Datei benötigt.
- DAG versioning — Nutzer erhalten zusätzliche Unterstützung für das Speichern mehrerer Versionen von serialized DAGs.
- Task Groups — anstelle von SubDAGs, die performance-Probleme verursachten, können jetzt Task Groups verwendet werden, um tasks in der DAG-Graph-Ansicht zu organisieren. Das geschieht im Airflow UI und beeinflusst die performance nicht. Weniger Komplexität mit weniger Code.
Es gibt viele Verbesserungen, und es ist normal, dass Nutzer Zeit brauchen, um sich daran zu gewöhnen. In diesem Artikel konzentrieren wir uns auf die letzten beiden Änderungen und erklären, wie sie das Setup von Airflow 2.0 erleichtern.
DAG serialization früher und heute
Serialization ist eine sehr wichtige Funktion von Apache Airflow. Der Begriff bezieht sich auf das Speichern einer serialisierten Darstellung der DAGs in der Datenbank. Sie werden im leichten JSON-Format gespeichert. Der scheduler kann DAG-Dateien parsen und eine Repräsentation in der Datenbank speichern, sodass der web server sie später abrufen und im user interface anzeigen kann. Das Verarbeiten von DAGs sowohl auf dem web server als auch auf dem scheduler ist ineffizient, da es zu unnötiger Duplizierung kommt, was die Gesamtperformance von Airflow negativ beeinflusst.
In der alten Version von Airflow benötigten sowohl web server als auch scheduler Zugriff auf die DAG-Dateien, um sie zu lesen und zu parsen. In Airflow 2.0 können Parsing und Serialization nur vom scheduler durchgeführt werden, der Zugriff auf die metadata database hat, während der web server nur auf metadata zugreift. Das verbessert die efficiency von Airflow, da die Last auf dem web server reduziert wird – es ist nicht mehr nötig, DAGs aus den Dateien zu parsen. Serialized DAGs werden einfach aus der Datenbank abgerufen. Besonders wichtig: Da der web server nicht mehr auf die DAG-Dateien zugreifen muss, ist das Setup von Airflow und das Deployment von DAGs viel einfacher als zuvor.
DAG versioning — was hat sich geändert?
Wie du weißt, werden data pipelines in Airflow durch DAGs repräsentiert. Ein Unternehmen ist wie ein lebender Organismus – es verändert sich im Laufe der Zeit und hat nach einer Weile andere Geschäftsanforderungen als früher. Änderungen an DAGs und business requirements entwickeln sich weiter. Für alle, die täglich mit Airflow arbeiten, ist es kein Geheimnis, dass das Hinzufügen von tasks zu einem bestehenden DAG einen besonderen Nebeneffekt hatte – “no-status” tasks wurden in der history overview angezeigt. Das konnte Probleme bei der Analyse von Logs und beim Anzeigen des Codes für den aktuellen DagRun verursachen.
Für Airflow-Nutzer ist es wichtig, nachvollziehen zu können, wie ein bestimmter DAG in der Vergangenheit ausgeführt wurde. Glücklicherweise bietet die neue Version von Apache Airflow Lösungen für viele frühere Probleme. Nach dem Upgrade auf Version 2.0 erhältst du zusätzliche Unterstützung für das Speichern mehrerer Versionen von serialized DAGs. Die Beziehungen zwischen DagRuns und DAGs werden korrekt dargestellt.
Kannst du reibungslos von der vorherigen Version auf Airflow 2.0 umsteigen?
Apache Airflow 2.0 bietet Nutzern interessante Modifikationen und neue Features. Es wäre schade, sie nicht zu nutzen, um die Effizienz deines Unternehmens zu steigern. Denke daran, dass Airflow 2.0 keine monolithische Architektur hat. Neue Funktionen sind in das core und 61 provider packages aufgeteilt, von denen jedes für einen bestimmten externen Service oder eine Datenbank gedacht ist. Dadurch kannst du eine custom Airflow 2.0 installation durchführen, um dieses Business-Tool an deine spezifischen Anforderungen anzupassen.
Vielleicht bist du dir nicht sicher, wie du die neue Version von Airflow richtig installierst oder wie du sie am besten einrichtest, um das Maximum herauszuholen. Zum Glück bist du nicht allein. Unser erfahrenes Team kann dir bei Installation und Konfiguration helfen und ein Training für dein Team vorbereiten. Melde dich bei uns, wenn du Unterstützung brauchst.
Rest api in airflow 2-0 was sie wissen mussen