Pengantar Apache Airflow

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

Apa itu rekayasa data?

Rekayasa data adalah:

  • Mengubah tindakan terkait data menjadi proses yang andal, berulang, dan mudah dirawat.
Pengantar Apache Airflow dengan Python

Apa itu workflow?

Workflow adalah:

  • Serangkaian langkah untuk menyelesaikan tugas rekayasa data
    • Contoh: mengunduh file, menyalin data, memfilter informasi, menulis ke basis data, dll.
  • Dapat sederhana hingga kompleks
  • Istilah yang maknanya bergantung konteks

Contoh Workflow

Pengantar Apache Airflow dengan Python

Apa itu Airflow?

Airflow adalah platform untuk memprogram workflow, mencakup:

  • Pembuatan
  • Penjadwalan
  • Pemantauan

Logo Airflow

Pengantar Apache Airflow dengan Python

Airflow (lanjutan)

  • Dapat menjalankan program dari bahasa apa pun, tetapi workflow ditulis dalam Python
  • Mewujudkan workflow sebagai DAG (Directed Acyclic Graph)
  • Diakses via kode, baris perintah, atau antarmuka web / REST API

Logo Airflow

1 https://airflow.apache.org/docs/stable/
Pengantar Apache Airflow dengan Python

Alat orkestrasi lain

Alat lain:

  • Luigi
  • SSIS
  • Skrip Bash

Logo Luigi

Logo Bash

Logo SSIS

Pengantar Apache Airflow dengan Python

Pengantar singkat DAG

DAG adalah singkatan dari Directed Acyclic Graph

  • Di Airflow, ini merepresentasikan kumpulan task yang membentuk workflow.
  • Terdiri dari task dan dependensi antar-task.
  • Dibuat dengan detail DAG: nama, tanggal mulai, pemilik, dll.
  • Dibahas lebih lanjut di pelajaran berikutnya.

Contoh DAG

Pengantar Apache Airflow dengan Python

Contoh kode DAG

Definisi DAG sederhana:

etl_dag = DAG(
    dag_id='etl_pipeline',
    default_args={"start_date": "2024-01-08"}
)
Pengantar Apache Airflow dengan Python

Menjalankan workflow di Airflow

Menjalankan task Airflow sederhana

airflow tasks test <dag_id> <task_id> [execution_date]

Dengan DAG bernama example-etl, task bernama download-file pada 2024-01-10:

airflow tasks test example-etl download-file 2024-01-10
Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...