CommencezCommencez gratuitement

Définir le DAG

Dans les exercices précédents, vous avez effectué séparément les étapes d'extraction, de transformation et de chargement. Maintenant, tout est regroupé dans une fonction etl() bien structurée que vous pouvez découvrir dans la console.

La fonction etl() extrait les données brutes des cours et des évaluations à partir des bases de données pertinentes, nettoie les données corrompues et remplit les valeurs manquantes, calcule la note moyenne par cours, crée des recommandations selon les règles de décision pour produire ces recommandations et, finalement, charge les recommandations dans une base de données.

Comme vous vous en souvenez peut-être de la vidéo, etl() accepte un seul argument : db_engines. etl et db_engines sont tous deux disponibles dans votre espace de travail, donc la tâche que vous définissez n'a qu'à appeler l'une avec l'autre.

Cette activité fait partie du cours

Introduction à l'ingénierie des données

Voir le cours

Instructions de l’exercice

  • Complétez la définition du DAG pour qu'il s'exécute quotidiennement. Assurez-vous d'utiliser la notation cron.
  • Complétez la tâche pour qu'elle appelle la fonction etl() avec les moteurs de base de données.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code