Bitte hinterlassen Sie Ihre Kontaktdaten, wir werden Ihnen unser Whitepaper per E-Mail zusenden
Ich stimme der Verarbeitung meiner persönlichen Daten zu, um personalisiertes Marketingmaterial in Übereinstimmung mit der der Datenschutzrichtlinie geschickt zu bekommen. Mit der Bestätigung der Anmeldung erklären Sie sich damit einverstanden, Marketingmaterial zu erhalten
Vielen Dank!

Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.

Innowise ist ein internationales Unternehmen für den vollen Zyklus der Softwareentwicklung, welches 2007 gegründet wurde. Unser Team besteht aus mehr als 1600+ IT-Experten, welche Software für mehrere Branchen und Domänen weltweit entwickeln.
Über uns
Innowise ist ein internationales Unternehmen für den vollen Zyklus der Softwareentwicklung, welches 2007 gegründet wurde. Unser Team besteht aus mehr als 1600+ IT-Experten, welche Software für mehrere Branchen und Domänen weltweit entwickeln.

Der ultimative Leitfaden zu Apache Airflow

Was ist Apache Airflow?

Apache Airflow ist ein Werkzeug zum visuellen Erstellen, Organisieren und Überwachen von Arbeitsabläufen (Workflows) und benutzt Aufgabenketten (Pipelines) zur Verarbeitung, Speicherung und Visualisierung von Daten. Eigentümerin der Plattform, die sich mit 1000 Mitwirkenden auf GitHub und 13 000 Sternen noch in der Inkubationsphase befindet, ist die Apache Software Foundation.

Einführung zu Apache Airflow

Apache Airflow ist ein Open-Source-Dienst, der in Python geschrieben wurde und von Dateningenieuren zur Orchestrierung von Workflows und Pipelines verwendet wird. Abhängigkeiten der Pipelines, Code, Protokolle, Trigger-Aufgaben, Fortschritt und Erfolgsstatus werden visualisiert, um bei Bedarf Probleme zu beheben.

Wenn eine Aufgabe abgeschlossen ist oder fehlschlägt, werden Warnungen und Nachrichten über Slack oder E-Mail versendet. Apache Airflow ist flexibel, skalierbar und mit externen Daten kompatibel. Die Plattform macht keine Vorgaben, wie ein Workflow auszusehen hat, und verfügt über eine benutzerfreundliche Oberfläche zur Verfolgung und erneuten Ausführung von Aufträgen.

Wie funktioniert Apache Airflow?

Pipelines werden mit Hilfe von folgenden Kernelementen beschrieben:

DAG

Gerichtete azyklische Graphen (DAG) sind der Eckpfeiler dieser Technologie. Dabei handelt es sich um einen Graphen, der keine Zyklen aufweist, sondern nur parallele Pfade, die aus demselben Auftrag stammen. Einfach ausgedrückt ist ein DAG eine Entität, die Arbeitsaufgaben (Tasks) in Abhängigkeit von der Datenpipeline kombiniert, wobei die Abhängigkeit zwischen den Anwendungen klar dargestellt wird.
Gerichteter azyklischer Graph (DAG)
Gerichteter azyklischer Graph (DAG)
Task E ist die letzte Aufgabe des DAG, die von der erfolgreichen Ausführung der vorangegangenen Aufgaben auf der linken Seite abhängt.

Betreiber

Ein Operator ist ein separates Element in der Aufgabenkette (Pipeline). Mit diesen Elementen beschreiben die Entwickler, welche Aufgabe ausgeführt werden muss. Apache Airflow verfügt über eine Liste vordefinierter Operatoren, darunter:
  • PythonOperator zum Ausführen von Python-Code
  • BashOperator zum Ausführen von Bash-Skripten oder -Befehlen
  • PostgresOperator für SQL-Abfragen in PostgreSQL
  • RedshiftToS3Transfer zum Ausführen von UNLOAD-Befehlen von Redshift zu S3
  • EmailOperator zum Versenden von E-Mails
Die Begriffe Aufgaben und Operatoren werden manchmal synonym verwendet, aber es handelt sich um unterschiedliche Konzepte, bei denen Operatoren als Muster für die Erstellung von Aufgaben dienen.

Sensor

Ein Sensor ist eine Variante des Operators und kommt in ereignisgesteuerten Pipelines zum Einsatz kommt. Beispiele:
  • Der PythonSensor wartet darauf, dass die Funktion True zurückgibt
  • Der S3Sensor prüft die Verfügbarkeit des Objekts anhand des Schlüssels im S3-Bucket

Haken

Hooks sind Dienste von Drittanbietern, die mit externen Plattformen (Datenbanken und API-Ressourcen) interagieren. Hooks sollten keine sensiblen Informationen enthalten, um Datenlecks zu verhindern.

Planer

Der Scheduler überwacht alle DAGs, verwaltet Workflows und übergibt Aufträge an den Executor.

Webserver

Der Webserver stellt die Benutzeroberfläche von Apache Airflow dar. Er hilft bei der Verfolgung des Status und des Fortschritts der Aufgaben und protokolliert Daten von entfernten Datenspeichern.

Datenbank

Alle relevanten Informationen werden in einer Datenbank gespeichert (Aufgaben, Planungszeiträume, Statistiken zu jedem Sprint usw.).

Executor

Der Executor führt die Aufgaben aus und gibt sie an die Worker weiter.

Abschließend wollen wir die Funktionsweise von Apache Airflow anhand eines Beispiels demonstrieren.. Zunächst werden alle DAGs im Hintergrund überarbeitet. Aufgaben, die dringend erledigt werden müssen, erhalten in der Datenbank die Markierung SCHEDULED. Der Planer ruft die Aufgaben aus der Datenbank ab und verteilt sie an die Executoren. Danach erhalten die Aufgaben den Status QUEUED, und sobald die Worker mit der Ausführung beginnen, wird dem Auftrag der Status RUNNING zugewiesen. Wenn die Aufgabe abgeschlossen ist, meldet der Worker sie je Endergebnis als beendet oder fehlgeschlagen, und der Scheduler aktualisiert den Status in der Datenbank.

Architektur von Apache Airflow
Architektur von Apache Airflow

Merkmale von Apache Airflow

Nachfolgend finden Sie eine Liste der interessantesten Merkmale von Apache Airflow.

Einfach zu bedienen

Grundlegende Python-Kenntnisse sind die einzige Voraussetzung, um Lösungen mit dieser Plattform zu erstellen.

Offene Quelle

Der Dienst ist kostenlos und hat viele aktive Nutzer weltweit.

Einfache Integration

Man kann nahtlos mit ergänzenden Produkten von Microsoft Azure,Google Cloud Platform, Amazon AWS, usw.

Benutzerfreundliche Oberfläche

Der Status von geplanten und aktiven Aufgaben kann in Echtzeit verfolgt werden.

Prinzipien in Apache Airflow

Im Folgenden erfahren Sie mehr über die grundlegenden Prinzipien von Apache Airflow.

Dynamisch

Airflow-Pipelines werden als Python-Code konfiguriert, um die Generierung der Pipelines dynamisch zu gestalten.

Erweiterbar

Benutzer können Operatoren, Executoren und Bibliotheken erstellen, die für ihre spezifische Geschäftsumgebung geeignet sind.

Skalierbar

Der Dienst besitzt eine modulare Architektur und kann unendlich skaliert werden.

Was sind die Vorteile von Apache Airflow?

Zu den Vorteilen gehören die Möglichkeit der Automatisierung, eine aktive Community, die Visualisierung von Geschäftsprozessen sowie eine angemessene Überwachung und Kontrolle. Wir werden sie kurz durchgehen:

Community

Mehr als 1000 Personen wirken an dem Open-Source-Dienst mit und sorgen für eine regelmäßige Aktualisierung.

Visualisierung von Geschäftsprozessen

Apache ist ein perfektes Werkzeug, um sich einen Überblick über das eigene Workflow-Management zu verschaffen.

Automatisierung

Automatisierung macht die Arbeit der Dateningenieure einfacher und verbessert die Gesamtleistung.

Überwachung und Kontrolle

Das integrierte Warn- und Benachrichtigungssystem ermöglicht es, Verantwortlichkeiten festzulegen und Korrekturen vorzunehmen.

Apache Airflow

Anwendungsfälle für Apache Airflow

Der praktische Einsatz des Dienstes lässt sich anhand folgender Anwendungsfälle veranschaulichen:
  • Batch-Aufträge;
  • Planung und Orchestrierung von Arbeitsabläufen für ein bestimmtes Zeitintervall mittels Airflow;
  • ETL/ELT-Pipelines, die mit Batch-Daten arbeiten;
  • Pipelines, die Daten aus externen Quellen empfangen oder eine Datentransformation durchführen;
  • Training von Modellen für maschinelles Lernen und Auslösen von Aufträgen in SageMaker;
  • Erstellen von Berichten;
  • Backups von DevOps-Aufträgen und Speicherung der Ergebnisse in einem Hadoop-Cluster nach Ausführung eines Spark-Jobs.

Apache Airflow als Dienst

Zahlreiche Data-Engineering-Plattformen, die von Apache Airflow unterstützt werden, nutzen die grundlegende Logik und die Vorteile des Dienstes und fügen neue Funktionen hinzu, um spezifische Herausforderungen zu lösen. Sie können als Apache Airflow-Alternativen bezeichnet werden, da sie ähnliche Funktionen aufweisen:

  • Astro - eine Plattform zur Datenorchestrierung zum Erstellen, Ausführen und Beobachten von Pipelines.
  • Google Cloud Composer - eine Plattform für die Datenorchestrierung zur Erstellung, Planung und Steuerung von Pipelines.
  • Qubole - eine offene Data Lake-Plattform für maschinelles Lernen, Streaming und Ad-hoc-Analysen.

Amazon Managed Workflows für Apache Airflow - ein verwalteter Airflow-Workflow-Orchestrierungsdienst zum Einrichten und Betreiben von Datenpipelines auf Amazon Web Services (AWS).

Fazit

Apache Airflow ist ein leistungsfähiges Werkzeug für das Data Engineering, das mit Diensten und Plattformen von Drittanbietern kompatibel ist. Die Migration zu Airflow verläuft reibungslos und problemlos und ist nicht von den Spezifikationen des Unternehmens abhängig.

Innowise verfügt über Erfahrung mit Apache Airflow und erstellt Lösungen zur Datenorchestrierung unabhängig von Komplexität und Umfang. Apache Airflow ist die perfekte Wahl, um die Kommunikation zwischen den Abteilungen zu verbessern und die Transparenz in den Arbeitsabläufen zu erhöhen.

Unsere Entwickler implementieren mit Apache Airflow ein kundenspezifisches modulares System, das die Arbeit mit großen Datenmengen erleichtert, die Arbeitsabläufe an die Geschäftsprozesse des Kunden anpasst und vollständig verwaltet, dabei lässt es sich auf die Besonderheiten Ihres Geschäftsumfelds abstimmen.

Vielen Dank für Ihre Bewertung!
Vielen Dank für Ihren Kommentar!

Inhaltsübersicht

Bewerten Sie diesen Artikel:

4/5

4.8/5 (37 bewertungen)

Ähnliches zum Lesen

Blog
Blog
des gesamten Lebenszyklus der Softwareentwicklung
Blog
Die Pyramide erklimmen: Wie man ein leistungsstarkes Softwareentwicklungsteam strukturiert
Blog
Künstliche Intelligenz im Gesund­heitswesen
Blog
Blog
Blog
Blog

Haben Sie eine Herausforderung für uns?

    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten und andere Infos bei.
    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten
    und andere Infos bei.
    Hängen Sie nach Bedarf zusätzliche Dokumente an.
    Datei hochladen

    Sie können bis zu 1 Datei von insgesamt 2 MB anhängen. Gültige Dateien: pdf, jpg, jpeg, png

    Bitte beachten Sie, dass Innowise mit dem Anklicken der Schaltfläche 'Senden' Ihre persönlichen Daten nach der Datenschutzrichtlinie verarbeiten wird, um Ihnen die gewünschten Informationen zukommen zu lassen.

    Wie geht es weiter?

    1

    Sobald wir Ihre Anfrage erhalten und bearbeitet haben, werden wir uns mit Ihnen in Verbindung setzen, um Ihre Projektanforderungen zu besprechen und eine NDA für die Vertraulichkeit der Informationen zu unterzeichnen.

    2

    Nach der Prüfung der Anforderungen erstellen unsere Analysten und Entwickler einen Projektvorschlag, der Arbeitsumfang, Teamgröße, Zeit- und Kostenschätzung enthält.

    3

    Wir vereinbaren einen Termin mit Ihnen, um das Angebot zu besprechen und eine Vereinbarung zu treffen.

    4

    Wir unterzeichnen einen Vertrag und beginnen umgehend mit der Arbeit an Ihrem Projekt.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Pfeil