Definire il DAG
Negli esercizi precedenti hai completato separatamente le fasi di extract, transform e load. Ora tutto questo è racchiuso in un’unica comoda funzione etl() che puoi esplorare nella console.
La funzione etl() estrae i dati grezzi sui corsi e le valutazioni dai database rilevanti, ripulisce i dati corrotti e compila i valori mancanti, calcola la valutazione media per corso e crea raccomandazioni basate sulle regole decisionali per generare le raccomandazioni, e infine carica le raccomandazioni in un database.
Come forse ricordi dal video, etl() accetta un solo argomento: db_engines. Puoi passarlo al task usando op_kwargs nel PythonOperator. Puoi passargli un dizionario che verrà inserito come kwargs nella funzione chiamabile.
Questo esercizio fa parte del corso
Introduzione al Data Engineering
Istruzioni dell'esercizio
- Completa la definizione del DAG in modo che venga eseguito ogni giorno. Assicurati di usare la notazione cron.
- Completa il
PythonOperator()passando gli argomenti corretti. Oltre aetl, anchedb_enginesè disponibile nel tuo workspace.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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={"____": ____},
)