A S T A C O D E

Loading

Membangun Pipeline Data ETL dengan Python dan Apache Airflow
Tutorial

Membangun Pipeline Data ETL dengan Python dan Apache Airflow

Admin

Author

Aug 01, 2026

Published

41

Views

Membangun Pipeline Data ETL dengan Python dan Apache Airflow

Apa Itu ETL?

ETL (Extract, Transform, Load) adalah proses mengolah data dari berbagai sumber sebelum digunakan oleh sistem tujuan seperti data warehouse. Data diekstrak, dibersihkan dan diubah sesuai kebutuhan, kemudian dimuat ke database atau platform analitik.

Mengapa Menggunakan Apache Airflow?

Apache Airflow membantu mengatur workflow data dalam bentuk DAG (Directed Acyclic Graph). Pipeline dapat dibuat menggunakan Python, dijadwalkan secara otomatis, dipantau melalui dashboard, serta dikonfigurasi untuk melakukan retry ketika task mengalami kegagalan.

Setup Airflow dengan Docker

Untuk development, Airflow dapat dijalankan menggunakan Docker Compose. Gunakan file docker-compose.yaml dari dokumentasi resmi Airflow, kemudian jalankan proses inisialisasi:

docker compose up airflow-init
docker compose up

Setelah service berjalan, Airflow dapat diakses melalui http://localhost:8080.

Membuat DAG Pertama

Buat file Python di dalam folder dags/, kemudian definisikan workflow beserta jadwal eksekusinya.

Task dapat menggunakan berbagai operator seperti:

  • PythonOperator untuk menjalankan fungsi Python

  • BashOperator untuk menjalankan command

  • SQL Operator untuk menjalankan query database

Atur dependency antar-task agar proses berjalan sesuai urutan yang dibutuhkan.

Transformasi Data dengan Pandas

Untuk proses transformasi, Pandas dapat digunakan untuk membersihkan dan mempersiapkan data sebelum masuk ke sistem tujuan.

Beberapa proses yang umum dilakukan antara lain:

  • Menangani missing values

  • Mengubah tipe data

  • Melakukan filtering dan agregasi

  • Menggabungkan beberapa dataset

  • Melakukan validasi data

Pisahkan proses cleaning dan transformation ke task yang jelas agar pipeline lebih mudah dipantau dan diperbaiki.

Loading ke PostgreSQL atau BigQuery

Setelah data siap, gunakan Airflow Hooks seperti PostgresHook atau BigQueryHook untuk mengirim data ke database atau data warehouse.

Gunakan strategi upsert ketika diperlukan agar data yang sudah ada dapat diperbarui tanpa membuat duplikasi. Untuk pipeline production, proses loading juga sebaiknya dibuat idempotent sehingga aman ketika task dijalankan ulang.

Monitoring dan Error Handling

Airflow menyediakan monitoring melalui UI untuk melihat status setiap DAG dan task. Manfaatkan retry, timeout, logging, dan alerting untuk menangani kegagalan pipeline.

Dengan konfigurasi tersebut, tim dapat mengetahui ketika proses ETL gagal dan melakukan troubleshooting berdasarkan log yang tersedia.

Kesimpulan

Apache Airflow membantu membuat pipeline ETL yang terjadwal, terstruktur, dan mudah dipantau. Dengan kombinasi DAG, transformasi data, database hooks, serta mekanisme retry dan monitoring, proses pengolahan data dapat menjadi lebih konsisten dan scalable.

Membangun Pipeline Data ETL dengan Python dan Apache Airflow

Looking for a professional partner?

Let's discuss how we can help your business grow with our technology solutions.

Chat with us