Kom igångKom igång gratis

Definiera DAG:en

I de tidigare övningarna har du slutfört extraherings-, transformerings- och laddningsfaserna var för sig. Nu sätts allt detta ihop i en enda smidig funktion, etl(), som du hittar i konsolen.

Funktionen etl() extraherar rådata om kurser och betyg från relevanta databaser, rensar korrupt data och fyller i saknade värden, beräknar genomsnittligt betyg per kurs och skapar rekommendationer utifrån beslutsreglerna för att ta fram rekommendationer, och laddar slutligen in rekommendationerna i en databas.

Som du kanske minns från videon tar etl() emot ett enda argument: db_engines. Både etl och db_engines finns tillgängliga i din arbetsyta, så uppgiften du definierar behöver bara anropa den ena med den andra.

Den här övningen är en del av kursen

Introduktion till datatekniker

Visa kurs

Övningsinstruktioner

  • Slutför DAG-definitionen så att den körs dagligen. Se till att använda cron-notation.
  • Slutför uppgiften så att den anropar funktionen etl() med databasmotorerna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod