Dag Airflow

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

Apa itu Dag?

Dag, atau Directed Acyclic Graph:

  • Directed – alur antar komponen merepresentasikan dependensi
  • Acyclic – tidak berulang atau membentuk loop
  • Graph – kumpulan komponen

Graf berarah tak siklik dengan node terhubung panah satu arah tanpa loop

Pengantar Apache Airflow dengan Python

Dag di Airflow

  • Ditulis dalam Python (namun dapat memakai komponen berbahasa lain)
  • Terdiri dari Task yang dieksekusi, seperti operator atau sensor
  • Memiliki dependensi yang didefinisikan eksplisit atau implisit
    • mis., Salin file ke server sebelum mengimpornya ke layanan database.

  Dag Airflow berisi task terhubung menunjukkan urutan dependensi

Pengantar Apache Airflow dengan Python

Mendefinisikan Dag

Contoh Dag (Taskflow API):

from airflow.sdk import dag

from pendulum import datetime @dag( dag_id='etl_workflow', email='[email protected]', start_date=datetime(2026, 3, 15, tz="UTC") )
def etl_workflow(): ...
etl_workflow()
Pengantar Apache Airflow dengan Python

Dag di command line

 

  • Perintah airflow memiliki banyak subperintah
  • airflow -h – bantuan dan deskripsi subperintah

 

  • Subperintah Dag

    • airflow dags list – tampilkan semua Dag yang dikenali
    • airflow dags reserialize – paksa Airflow memuat ulang file Dag
    • airflow tasks test – jalankan task tertentu
Pengantar Apache Airflow dengan Python

Command line vs Python

Gunakan command line untuk:

  • Menjalankan proses Airflow
  • Menjalankan Dag/Task secara manual
  • Mengambil informasi log dari Airflow

Terminal yang menjalankan tool command line airflow

Gunakan Python untuk:

  • Membuat Dag
  • Mengedit properti Dag satu per satu

Ilustrasi yang merepresentasikan kode Python

Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...