Zacznij terazZacznij za darmo

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

Zobacz kurs

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ócz etl w twoim środowisku dostępna jest również zmienna db_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={"____": ____},
)
Edytuj i uruchom kod