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
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 deetl,db_enginesest 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={"____": ____},
)