Definiera DAG:en
I de föregående övningarna har du genomfört extraherings-, transformerings- och laddningsfaserna var för sig. Nu sätts allt ihop i en smidig etl()-funktion som du kan utforska i konsolen.
Funktionen etl() extraherar rådata om kurser och betyg från relevanta databaser, rensar felaktig data och fyller i saknade värden, beräknar genomsnittsbetyg per kurs och skapar rekommendationer baserade på beslutsregler – och läser slutligen in rekommendationerna i en databas.
Som du kanske minns från videon tar etl() ett enda argument: db_engines. Du kan skicka det till uppgiften via op_kwargs i PythonOperator. Skicka en ordbok som fylls i som kwargs i den anropsbara funktionen.
Den här övningen är en del av kursen
Introduktion till datatekniker
Övningsinstruktioner
- Slutför DAG-definitionen så att den körs dagligen. Använd cron-notation.
- Slutför
PythonOperator()genom att skicka in rätt argument. Förutometlfinns ävendb_enginestillgänglig i din arbetsyta.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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={"____": ____},
)