Aan de slagBegin gratis

De DAG definiëren

In de vorige oefeningen heb je de extract-, transform- en load-fase afzonderlijk voltooid. Nu is alles samengebracht in één nette functie etl() die je in de console kunt bekijken.

De functie etl() haalt ruwe cursus- en beoordelingsgegevens op uit de relevante databases, maakt corrupte data schoon en vult ontbrekende waarden aan, berekent de gemiddelde beoordeling per cursus en maakt aanbevelingen op basis van de beslisregels voor het genereren van aanbevelingen, en laadt tot slot de aanbevelingen in een database.

Zoals je je misschien herinnert uit de video, accepteert etl() één argument: db_engines. Zowel etl als db_engines zijn beschikbaar in je werkruimte, dus de taak die je definieert hoeft de ene alleen maar met de andere aan te roepen.

Deze oefening maakt deel uit van de cursus

Introductie tot Data Engineering

Bekijk cursus

Oefeninstructies

  • Maak de definitie van de DAG af zodat hij dagelijks draait. Gebruik daarbij de cron-notatie.
  • Maak de taak af zodat hij de functie etl() aanroept met de database-engines.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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()
Code bewerken en uitvoeren