Der Bericht ist um 7 Uhr fertig
Die Filialleitungen einer Ladenkette öffnen jeden Morgen um 7 Uhr einen Umsatzbericht. Niemand hat ihn nachts von Hand gebaut.
Die Kassen haben jeden Verkauf erfasst. Ein Programm hat die Verkäufe kopiert, aufgeräumt und gespeichert. Der Bericht liest den Speicher.
Diese Kette von Schritten heißt Pipeline. Pipelines zu bauen und zu reparieren, ist der Alltag im Data Engineering.
Am Ende dieser Lektion
Notiz
Ich kann beschreiben, wie Daten von der Quelle bis zum Bericht kommen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Quelle | das System, in dem Daten zuerst entstehen | eine Kasse |
| Pipeline | Schritte, die Daten von der Quelle zum Bericht bringen | |
| Extract | Daten aus der Quelle kopieren | |
| Transform | Daten bereinigen und umformen | |
| Load | Daten dorthin schreiben, wo der Bericht sie liest | |
| ETL | Extract, Transform, Load, in dieser Reihenfolge |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Drei Schritte: Extract, Transform, Load
Extract kopiert die Daten aus der Quelle. Das Kassensystem bleibt, wie es war.
Transform bereinigt und formt die Kopie um. Es ordnet Namen, macht aus Text Zahlen und lässt schlechte Zeilen weg.
Load schreibt die sauberen Zeilen in einen Speicher für Berichte. Der Bericht liest nur diesen Speicher.
Eine Pipeline ist lesbarer Code
Echte Pipelines laufen in Werkzeugen, die dafür gebaut sind. Darunter ist jeder Schritt ein kleines Programm.
Der Block unten ist eine ganze Pipeline in wenigen Zeilen. Finden Sie die drei Schritte an den Kommentaren. Starten Sie ihn dann und zählen Sie die Zeilen, die im Speicher ankommen.
Eine kleine Pipeline starten
# EXTRACT: Die Kasse exportiert Text, ein Verkauf pro Zeile. Der Betrag hat ein Komma.
export = """2026-10-01;Köln; 12,50
2026-10-01;bremen;8,00
2026-10-01;Köln;
2026-10-01;Bremen ;4,50"""
# TRANSFORM: Zeile teilen, Stadt ordnen, Betrag in eine Zahl umwandeln.
# Ein Verkauf ohne Betrag wird übersprungen.
sauber = []
for zeile in export.split("\n"):
teile = zeile.split(";")
if teile[2].strip() == "":
continue
betrag = float(teile[2].replace(",", "."))
sauber.append({"tag": teile[0], "stadt": teile[1].strip().title(), "betrag": betrag})
# LOAD: Die sauberen Zeilen kommen in den Speicher, den der Bericht liest.
speicher = []
for zeile in sauber:
speicher.append(zeile)
print("Geladene Zeilen:", len(speicher))
for zeile in speicher:
print(zeile)
# Fügen Sie die Zeile 2026-10-01;ulm;3,20 zum Export hinzu und drücken Sie Run.
Ein häufiger Fehler
Warnung
Viele denken, eine Pipeline laufe nur einmal. Das stimmt nicht: Sie läuft nach Plan, jede Nacht oder jede Stunde, über Jahre. Darum muss jeder Schritt allein mit neuen und schlechten Zeilen zurechtkommen, ohne dass jemand zusieht.