Den DAG definieren
In den vorherigen Übungen hast du die Phasen Extrahieren, Transformieren und Laden separat durchgeführt. Jetzt ist das alles in einer praktischen Funktion namens etl() zusammengefasst, die du in der Konsole finden kannst.
Die Funktion etl() holt sich Rohdaten zu Kursen und Bewertungen aus den relevanten Datenbanken, bereinigt fehlerhafte Daten und bringt fehlende Werte ein, berechnet die durchschnittliche Bewertung pro Kurs und erstellt Empfehlungen anhand der Entscheidungsregeln für die Erstellung von Empfehlungen. Zum Schluss lädt sie die Empfehlungen in eine Datenbank.
Wie du vielleicht noch aus dem Video weißt, nimmt etl() ein einziges Argument an: db_engines. Du kannst das an die Aufgabe weitergeben, indem du op_kwargs im PythonOperator verwendest. Du kannst ihm ein Dictionary übergeben, das als kwargs in der aufrufbaren Funktion ausgefüllt wird.
Diese Übung ist Teil des Kurses
Einführung in das Data Engineering
Anleitung zur Übung
- Vervollständige die DAG-Definition so, dass sie täglich läuft. Benutze unbedingt die cron-Notation.
- Vervollständige die Methode
PythonOperator(), indem du die richtigen Argumente übergibst. Nebenetlgibt es auchdb_enginesin deinem Arbeitsbereich.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Define the DAG so it runs on a daily basis
dag = DAG(dag_id="recommendations",
schedule_interval="____")
# Make sure `etl()` is called in the operator. Pass the correct kwargs.
task_recommendations = PythonOperator(
task_id="recommendations_task",
python_callable=____,
op_kwargs={"____": ____},
)