Definir el DAG
En los ejercicios anteriores, completaste por separado las fases de extracción, transformación y carga. Ahora todo eso se integra en una única y ordenada función etl() que puedes explorar en la consola.
La función etl() extrae datos en bruto de cursos y valoraciones de las bases de datos pertinentes, limpia datos corruptos y rellena valores faltantes, calcula la valoración media por curso y crea recomendaciones basadas en las reglas de decisión para generarlas, y finalmente carga las recomendaciones en una base de datos.
Como recordarás del vídeo, etl() acepta un único argumento: db_engines. Tanto etl como db_engines están disponibles en tu espacio de trabajo, así que la tarea que definas solo tiene que llamar a una con la otra.
Este ejercicio forma parte del curso
Introducción a la ingeniería de datos
Instrucciones del ejercicio
- Completa la definición del DAG para que se ejecute a diario. Asegúrate de usar la notación de cron.
- Completa la tarea para que llame a la función
etl()con los motores de base de datos.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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()