Learn AI with Python · Lektion

Skalierbare ML-Pipelines mit Airflow

DAG-basierte Pipelines, Aufgabenabhängigkeiten, Datenaufnahme → Training → Evaluierung → Deployment.

Lektion 2 von 413 Schritte

Skalierbare ML-Pipelines mit Airflow ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Warum Orchestrierung

Ein ML-Workflow umfasst viele Schritte: Daten aufnehmen, Features erstellen, trainieren, evaluieren und bereitstellen. Diese Schritte manuell auszuführen, ist fehleranfällig. Apache Airflow orchestriert sie als Code und bietet integrierte Funktionen für Planung, Wiederholungen, Abhängigkeiten und Überwachung.

Der DAG

Airflow modelliert eine Pipeline als DAG (gerichteten azyklischen Graphen) aus Tasks. Azyklisch bedeutet, dass kein Task in einer Schleife von sich selbst abhängen kann. Dadurch ist die Ausführungsreihenfolge vom Anfang bis zum Ende immer eindeutig festgelegt.

Einen DAG definieren

Sie deklarieren einen DAG mit einer ID, einem Zeitplan und einem Startdatum. Der Zeitplan legt fest, wie häufig er ausgeführt wird, beispielsweise für tägliches erneutes Training.

from airflow import DAG
import datetime

with DAG(
    dag_id="ml_pipeline",
    schedule="@daily",
    start_date=datetime.datetime(2024, 1, 1),
    catchup=False,
) as dag:
    ...

Operatoren sind Tasks

Jeder Knoten im DAG ist ein Task, der aus einem Operator erstellt wird. Verschiedene Operatoren führen unterschiedliche Arten von Aufgaben aus: Python-Funktionen, Bash-Befehle, SQL-Abfragen und vieles mehr.

PythonOperator für das Training

Der PythonOperator führt einen aufrufbaren Python-Code aus. Er eignet sich ideal für einen Trainingsschritt, der Ihre Trainingsfunktion aufruft.

from airflow.operators.python import PythonOperator

def train_model():
    # load features, fit model, save artifact
    ...

train = PythonOperator(
    task_id="train",
    python_callable=train_model,
)

BashOperator für die Evaluierung

Der BashOperator führt einen Shell-Befehl aus und eignet sich beispielsweise zum Aufrufen eines Evaluierungsskripts oder eines CLI-Tools.

from airflow.operators.bash import BashOperator

evaluate = BashOperator(
    task_id="evaluate",
    bash_command="python /opt/ml/evaluate.py --model latest",
)

Abhängigkeiten definieren

Der Operator >> legt die Reihenfolge der Tasks fest: a >> b bedeutet, dass b ausgeführt wird, nachdem a erfolgreich abgeschlossen wurde. Damit wird der DAG so verknüpft, dass die Evaluierung erst nach Abschluss des Trainings beginnt.

train >> evaluate
# train must succeed before evaluate runs

Längere Abhängigkeitsketten

Sie können viele Tasks verketten, um die vollständige Reihenfolge der Pipeline auszudrücken. Airflow führt unabhängige Zweige parallel aus und berücksichtigt jede von Ihnen deklarierte Abhängigkeit.

ingest >> features >> train >> evaluate >> deploy

Daten mit XCom übergeben

Tasks werden isoliert ausgeführt. Wie kann also ein Task ein Ergebnis an den nächsten übergeben? XCom (Cross-Communication) ermöglicht es einem Task, einen kleinen Wert – etwa einen Modellpfad oder eine Metrik – abzulegen, den ein nachgelagerter Task abruft.

def train_model(ti):
    path = "/models/run_42.pt"
    ti.xcom_push(key="model_path", value=path)

def deploy(ti):
    path = ti.xcom_pull(key="model_path", task_ids="train")
    # deploy the artifact at path

XCom ist für kleine Daten gedacht

XCom ist für kleine Metadaten (Pfade, IDs und Metriken) vorgesehen, nicht für große Datensätze. Große Artefakte sollten in einem Objektspeicher (S3) liegen; über XCom wird lediglich ihr Speicherort übergeben. Eine übermäßige Nutzung von XCom für große Nutzdaten belastet die Metadaten-Datenbank.

Planung und Wiederholungen

Airflow sorgt ohne zusätzlichen Aufwand für Robustheit in der Produktion: Der Zeitplan startet Ausführungen automatisch, fehlgeschlagene Tasks werden mit zunehmenden Wartezeiten wiederholt, und die Benutzeroberfläche zeigt den Status jedes Tasks und jeder Ausführung an – einschließlich einer Benachrichtigung bei Fehlern.

Kurze Überprüfung

Testen Sie Ihr Wissen über Airflow.

Zusammenfassung

Sie haben skalierbare ML-Pipelines mit Airflow gelernt:

  • Ein DAG mit einem Zeitplan definiert die Pipeline
  • PythonOperator führt das Training aus, BashOperator die Evaluierung
  • Der Operator >> legt Task-Abhängigkeiten fest
  • XCom übergibt kleine Artefakte zwischen Tasks; große Daten gehören in einen Objektspeicher
Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
53
Lektionen
225

Häufig gestellte Fragen

Ist die Lektion „Skalierbare ML-Pipelines mit Airflow“ kostenlos?

Ja — der vollständige Text von „Skalierbare ML-Pipelines mit Airflow“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Skalierbare ML-Pipelines mit Airflow“?

DAG-basierte Pipelines, Aufgabenabhängigkeiten, Datenaufnahme → Training → Evaluierung → Deployment. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Skalierbare ML-Pipelines mit Airflow“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Architekturmuster für KI-Systeme
  2. Skalierbare ML-Pipelines mit Airflow
  3. Feature Stores: Feast und Tecton
  4. Observability und Monitoring von KI-Systemen
← Zurück zu Learn AI with Python