Definieren der DAG
In den vorherigen Übungen hast du die Phasen Extrahieren, Transformieren und Laden getrennt voneinander durchgeführt. All das ist jetzt in einer übersichtlichen etl()
Funktion zusammengefasst, die du in der Konsole entdecken kannst.
Die Funktion etl()
extrahiert Rohdaten zu Kursen und Bewertungen aus den relevanten Datenbanken, bereinigt fehlerhafte Daten und ergänzt fehlende Werte, berechnet die durchschnittliche Bewertung pro Kurs und erstellt Empfehlungen auf der Grundlage der Entscheidungsregeln für die Erstellung von Empfehlungen und lädt die Empfehlungen schließlich in eine Datenbank.
Wie du dich vielleicht aus dem Video erinnerst, akzeptiert etl()
ein einziges Argument: db_engines
. Du kannst dies mit op_kwargs
in der PythonOperator
an die Aufgabe übergeben. Du kannst ihm ein Wörterbuch übergeben, das als kwargs in die Callable eingefügt wird.
Diese Übung ist Teil des Kurses
Einführung in die Datentechnik
Anleitung zur Übung
- Vervollständige die DAG-Definition, damit sie täglich läuft. Achte darauf, dass du die cron-Schreibweise verwendest.
- Vervollständige die
PythonOperator()
, indem du die richtigen Argumente angibst. Anders alsetl
istdb_engines
auch in deinem Arbeitsbereich verfügbar.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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={"____": ____},
)