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. Tout cela est maintenant réuni 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 notes depuis les bases correspondantes, 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 définies, 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. etl et db_engines sont tous deux disponibles dans votre espace de travail ; la tâche que vous définissez n'a donc qu'à appeler l'un avec l'autre.
Cet exercice fait partie du cours
<cours>Introduction au data engineering</cours>Instructions de l’exercice
- Complétez la définition du DAG afin qu'il s'exécute quotidiennement. Utilisez 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()