CommencerCommencer gratuitement

Définir le DAG

Dans les exercices précédents, vous avez réalisé séparément les phases d’extraction, de transformation et de chargement. À présent, tout est regroupé dans une fonction etl() claire que vous pouvez découvrir dans la console.

La fonction etl() extrait les données brutes de cours et d’évaluations depuis les bases pertinentes, nettoie les données corrompues et renseigne les valeurs manquantes, calcule la note moyenne par cours et crée des recommandations selon les règles de décision prévues, puis charge enfin ces 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 via op_kwargs dans le PythonOperator. Vous pouvez lui passer un dictionnaire qui sera injecté comme kwargs dans la fonction appelée.

Cet exercice fait partie du cours

Introduction au data engineering

Afficher le cours

Instructions

  • Complétez la définition du DAG pour qu’il s’exécute quotidiennement. Utilisez la notation cron.
  • Complétez le PythonOperator() en passant 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 cet exemple de code.

# 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