CommencezCommencez gratuitement

Définir le DAG

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

La fonction etl() extrait les données brutes des cours et des évaluations depuis les bases de données pertinentes, nettoie les données corrompues et remplit les valeurs manquantes, calcule la note moyenne par cours et crée des recommandations selon les règles de décision prévues pour générer ces recommandations, puis charge finalement 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. Vous pouvez le transmettre à la tâche en utilisant op_kwargs dans le PythonOperator. Vous pouvez lui passer un dictionnaire qui sera injecté comme kwargs dans l'appelable.

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 tous les jours. Assurez-vous d'utiliser la notation cron.
  • Complétez le PythonOperator() en transmettant les bons arguments. En plus de etl, db_engines est aussi disponible dans votre espace de travail.

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(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={"____": ____},
)
Modifier et exécuter le code