Definiowanie DAG
W poprzednich ćwiczeniach wykonywałeś fazy extract, transform i load osobno. Teraz wszystko to zostało zebrane w jednej funkcji etl(), którą możesz zbadać w konsoli.
Funkcja etl() pobiera surowe dane o kursach i ocenach z odpowiednich baz danych, oczyszcza błędne dane i uzupełnia brakujące wartości, oblicza średnią ocenę dla każdego kursu, tworzy rekomendacje na podstawie reguł decyzyjnych, a następnie ładuje rekomendacje do bazy danych.
Jak pamiętasz z wideo, etl() przyjmuje jeden argument: db_engines. Możesz go przekazać do zadania za pomocą op_kwargs w PythonOperator. Przekazujesz słownik, który zostanie użyty jako kwargs w wywoływanej funkcji.
To ćwiczenie jest częścią kursu
Wprowadzenie do inżynierii danych
Instrukcje do ćwiczenia
- Uzupełnij definicję DAG tak, aby uruchamiał się codziennie. Pamiętaj, żeby użyć zapisu cron.
- Uzupełnij
PythonOperator(), przekazując odpowiednie argumenty. Opróczetlw twoim środowisku dostępna jest również zmiennadb_engines.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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={"____": ____},
)