Mendefinisikan DAG
Pada latihan sebelumnya, Anda telah menyelesaikan fase extract, transform, dan load secara terpisah. Sekarang semuanya digabungkan dalam satu fungsi etl() yang rapi, yang dapat Anda lihat di konsol.
Fungsi etl() mengekstrak data kursus dan rating mentah dari basis data terkait, membersihkan data yang korup dan mengisi nilai yang hilang, menghitung rata-rata rating per kursus dan membuat rekomendasi berdasarkan aturan keputusan untuk menghasilkan rekomendasi, dan akhirnya memuat rekomendasi tersebut ke dalam basis data.
Seperti yang mungkin Anda ingat dari video, etl() menerima satu argumen: db_engines. Baik etl maupun db_engines tersedia di workspace Anda, sehingga task yang Anda definisikan hanya perlu memanggil yang satu dengan yang lain.
Latihan ini merupakan bagian dari kursus
Pengantar Data Engineering
Instruksi latihan
- Lengkapi definisi DAG agar berjalan setiap hari. Pastikan menggunakan notasi cron.
- Lengkapi task agar memanggil fungsi
etl()dengan database engines.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()