Datenpipeline manuell testen

ETL und ELT mit Python

Jake Roach

Data Engineer

Datenpipelines testen

Datenpipelines sollten gründlich getestet werden

  • Prüfe, ob Daten wie erwartet extrahiert, transformiert und geladen werden

$$

Validierung reduziert Wartungsaufwand nach dem Deployment

  • Datenqualitätsprobleme erkennen und beheben
  • Verbessert die Datenzuverlässigkeit

Tools und Techniken zum Testen von Datenpipelines

  • End-to-End‑Tests
  • Validierung an „Checkpoints“
  • Unit-Tests
ETL und ELT mit Python

Test- und Produktionsumgebungen

Test- und Produktionsumgebungen zum Erstellen und Ausführen von Datenpipelines.

ETL und ELT mit Python

Pipeline End-to-End testen

End-to-End-Test einer Datenpipeline.

End-to-End‑Tests

  • Bestätigen, dass die Pipeline wiederholt läuft
  • Daten an Pipeline‑Checkpoints validieren
  • Peer Review durchführen, Feedback einarbeiten
  • Sicherstellen, dass Konsumierende Zugriff haben und zufrieden sind
ETL und ELT mit Python

Pipeline-Checkpoints validieren

# Daten im Rahmen einer Pipeline extrahieren, transformieren und laden
...

# Die in einer Postgres‑Datenbank verfügbaren Daten ansehen
loaded_data = pd.read_sql("SELECT * FROM clean_stock_data", con=db_engine)
print(loaded_data.shape)
(6438, 4)
print(loaded_data.head())
         timestamps      volume      open     close                            
1997-05-15 13:30:00  1443120000  0.121875  0.097917
1997-05-16 13:30:00   294000000  0.098438  0.086458
1997-05-19 13:30:00   122136000  0.088021  0.085417
ETL und ELT mit Python

DataFrames validieren

# Daten im Rahmen einer Pipeline extrahieren, transformieren und laden
...

# Die in einer Postgres‑Datenbank verfügbaren Daten ansehen
loaded_data = pd.read_sql("SELECT * FROM clean_stock_data", con=db_engine)

# Die beiden DataFrames vergleichen.
print(clean_stock_data.equals(loaded_data))
True
ETL und ELT mit Python

Lass uns üben!

ETL und ELT mit Python

Preparing Video For Download...