Definindo o DAG
Nos exercícios anteriores, você concluiu as fases de extração, transformação e carregamento separadamente. Agora, tudo isso foi agrupado em uma única função etl() que você pode explorar no console.
A função etl() extrai dados brutos de cursos e avaliações dos bancos de dados relevantes, limpa dados corrompidos e preenche valores ausentes, calcula a avaliação média por curso e cria recomendações com base nas regras de decisão para gerá-las e, por fim, carrega as recomendações em um banco de dados.
Como você deve lembrar do vídeo, etl() aceita um único argumento: db_engines. Tanto etl quanto db_engines estão disponíveis no seu workspace, então a tarefa que você definir só precisa chamar uma com a outra.
Este exercicio faz parte do curso
Introdução à Engenharia de Dados
Instruções do exercicio
- Complete a definição do DAG para que ele seja executado diariamente. Use a notação de cron.
- Complete a tarefa para chamar a função
etl()com os mecanismos de banco de dados.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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()