Zacznij terazZacznij za darmo

Definiowanie DAG-a

W poprzednich ćwiczeniach ukończyłeś fazy extract, transform i load osobno. Teraz połączymy to wszystko w jedną zgrabną funkcję etl(), którą znajdziesz w konsoli.

Funkcja etl() wyodrębnia surowe dane o kursach i ocenach z odpowiednich baz danych, czyści uszkodzone dane i uzupełnia brakujące wartości, wylicza średnią ocenę dla każdego kursu i tworzy rekomendacje na podstawie reguł decyzyjnych, a na końcu zapisuje te rekomendacje w bazie danych.

Jak pamiętasz z filmu, etl() przyjmuje jeden argument: db_engines. Zarówno etl, jak i db_engines są już dostępne w twoim środowisku pracy, więc wystarczy, że w definiowanym zadaniu wywołasz jedno drugim.

To ćwiczenie jest częścią kursu

Wprowadzenie do inżynierii danych

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij definicję DAG-a, tak aby wykonywał się codziennie. Pamiętaj o użyciu notacji cron.
  • Uzupełnij zadanie, tak aby wywoływało funkcję etl() z odpowiednimi silnikami baz danych.

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_id="recommendations",
     start_date=datetime(2024, 1, 1),
     schedule="____")
def recommendations():
    # Make sure the task calls etl() with the database engines
    @task(task_id="recommendations_task")
    def recommendations_task():
        ____(____)

    recommendations_task()

# Run the DAG
recommendations()
Edytuj i uruchom kod