Build Batch Data Pipeline using Airflow MWAA, glue and AWS Redshift

Muhammad Saipul Rohman
2 min readJan 13, 2023

--

Halo semua, pada artikel ini saya akan sharing mengenai How to Build End to End Batch Data Pipeline using Apache Airflow yang sudah di manage oleh AWS yaitu Managed Worflow Apache Airflow atau di singkat MWAA, Glue untuk crawling data dari S3 lalu di call ke MWAA dan Redshift sebagai Data Warehouse nya.

Untuk artikel ini saya akan pecah menjadi 3 artikel, artikel pertama adalah artikel ini dan 2 artikel lagi yaitu :

Jadi servis aws yang digunakan untuk artikel ini yaitu :

  • MWAA
  • AWS Glue untuk crawling data from Aws S3
  • AWS S3 untuk penyimpanan raw csv file di data lakes nya
  • AWS IAM Roles untuk mengatur permission IAM roles services yang digunakan
  • AWS Redshift sebagai data warehouse

Data Architecture

Untuk Data Architecture dari artikel ini yaitu :

Data Architecture Batch Data Pipeline Using MWAA as Orchestrator

Penjelasan :

Data csv file di upload ke S3 bucket raw kemudian AWS Glue Crawler akan otomatis mengecek file tersebut kemudian menjalankan Glue ETL Job. Jika sudah selesai proses transformasi datanya akan di simpan di S3 bucket terpisah khusus transformasi data. Jika sudah selesai akan otomatis ke copy ke Redshift Datawarehouse.

Prepare dataset

Untuk dataset yang digunakan pada artikel ini menggunakan dataset NYC taxi ride. Detail dataset nya kalian bisa lihat di sini.

Sekilas Apache Airflow

Apache Airflow adalah salah satu open source terkenal untuk melakukan orchestration dalam pengolahan data. Saya tidak akan membahas detail mengenai Apache Airflow. Kalian bisa baca mengenai airflow di website resmi airflow.

Sekilas Mengenai MWAA

MWAA atau disingkat Managed Workflow Apache Airflow adalah Managed service Apache Airflow yang di tawarkan oleh AWS sehingga kalian tidak perlu install airflow dari awal lagi dan berjalan di Elastics Kubernetes Services jadi otomatis reliable dan High Availability karerna berjalan di kubernetes. Untuk detail nya bisa baca di sini.

Sekilas Mengenai AWS Redshift

AWS Redshift adalah opsi datawarehouse yang disediakan oleh AWS. Disini saya masih menggunakan Redshift Cluster dan next nya akan mencoba menggunakan Redshift serverless. Untuk lebih detailnya bisa lihat ke docs resmi nya di sini

Ok itu saja untuk artikel intermezzo ini. Next nya mulai tahap setup Data Infrastrukture yang dibutuhkan di setup data infrastruktur for batch data pipeline.

--

--

Muhammad Saipul Rohman

Data Engineering, Data Science and Cloud Computing Enthusiast.