Airflow: Definisi, Konsep-Konsep Inti, dan Manfaat

digitalskola

digitalskola

26 Juni 2022

airflow adalah
Airflow adalah komponen penting dalam data engineering (Foto: Freepik)

Jika kamu adalah seorang data engineer enthusiast, nama Apache Airflow tentu adalah hal yang familiar di telingamu. Sejak pertama kali diperkenalkan sebagai proyek open source di tahun 2015, saat ini Airflow telah menjadi standar utama dalam data engineering. Untuk membantumu mengenal lebih baik tentang platform ini, kamu bisa simak penjelasan tentang Apache Airflow, termasuk definisi Airflow, konsep inti di dalam arsitekturnya, hingga manfaatnya bagi ETL.

Mengenal Apache Airflow

Apache Airflow adalah sebuah platform untuk menjadwalkan dan mengatur data pipeline atau workflow. Pengaturan data pipeline di sini mengacu pada pengaturan, koordinasi, penjadwalan, dan pengelolaan data pipeline yang kompleks dari sumber yang berbeda-beda. Data pipeline tersebut membawa data set yang siap dipergunakan, baik itu oleh aplikasi business intelligence dan data scientist.

Pada mulanya, Airflow diciptakan untuk menyelesaikan masalah yang timbul seiring dengan cron task serta script yang berat. Hanya saja, seiring dengan berjalannya waktu Airflow lantas telah berkembang jadi salah satu platform data pipeline open source paling populer yang ada di pasaran.

Platform ini memiliki beberapa keunggulan, seperti:

·         Dinamis, artinya apa yang bisa kamu kerjakan di Python juga bisa kamu eksekusi di Airflow.

·         Punya beragam jenis plugin yang siap digunakan sehingga kamu bisa berinteraksi pula dengan sistem eksternal. Di samping itu, kamu juga bisa membuat plugin-mu sendiri sesuai kebutuhan.

·         Dapat digunakan oleh tim dengan ukuran load tugas apapun, ratusan hingga ribuan per hari.

Dengan Airflow, workflow dinyatakan sebagai Directed Acyclic Graphs (DAG), di mana setiap node atau titik DAG menunjukkan satu tugas tertentu. Pasalnya, Airflow didesain dengan keyakinan bahwa seluruh data pipeline paling baik ditunjukkan sebagai kode, dan sekarang telah jadi keunggulan Apache yang tidak bisa ditandingi oleh pipeline tool lainnya.

Konsep Inti dalam Airflow

Berikut ini adalah beberapa konsep inti dalam Apache Airflow yang terdapat di dalam arsitekturnya.

DAG

Directed Acyclic Graph atau DAG merupakan sebuah data pipeline yang didefinisikan dalam kode Python. Masing-masing DAG mewakili serangkaian tugas atau task yang akan kamu jalankan, dan ditata untuk menunjukkan hubungan antar task di dalam UI-nya Airflow.

DAG memiliki beberapa kriteria sebagai berikut:

o    Jika ada beberapa task dengan dependensi, masing-masing task harus punya setidaknya 1 task upstream atau downstream.

o    Task tidak bisa dibuat untuk menciptakan data yang merujuk pada data itu sendiri untuk mencegah infinite loop, atau perputaran yang berulang. Artinya, proses seluruh task mengalir ke satu arah dan tidak ada yang kembali ke titik sebelumnya.

o    Seluruh task dijabarkan ke dalam sebuah struktur yang jelas dengan proses-proses yang terjadi pada titik-titik yang jelas dengan rangkaian hubungan dengan task-task lainnya.

Baca juga: 5 Cara Jadi Data Engineer, Karier Cemerlang Era Digital

Task

Tugas atau task mewakili masing-masing node atau titik DAG, dan merupakan representasi visual dari pekerjaan yang dilakukan pada masing-masing tahap workflow

Operator

Operator bisa dibilang merupakan fondasi dari Airflow dan menentukan pekerjaan yang memang sudah diselesaikan. Konsep ini bisa dipandang sebagai sebuah “pembungkus” suatu task, atau titik dari sebuah DAG yang menjelaskan bagaimana task tersebut akan dijalankan. DAG memastikan bahwa operator dijadwalkan dan dijalankan dalam urutan tertentu, sementara operator menjelaskan pekerjaan yang harus dilakukan dalam setiap tahap prosesnya.

Lebih jauh lagi, operator dapat dibagi ke dalam 3 kategori utama, yaitu:

o Action Operator yang mengeksekusi sebuah fungsi, seperti BashOperator dan PythonOperator.

o Transfer Operator yang memindahkan data dari satu sumber ke satu tujuan seperti S3ToRedshiftOperator.

o Sensor Operator yang menunggu terjadinya sesuatu seperti ExternalTaskSensor.

Baca juga: Cari Data Engineer Bootcamp Indonesia? Cek di Sini

Hook

Lewat hook, Airflow bisa berinteraksi dengan sistem pihak ketiga dengan menghubungkannya ke API serta database eksternal seperti GCS, Hive, MySQL, Postgres, S3, dan lain sebagainya. Bagi operator, hook berfungsi sebagai fondasi atau landasannya.

Apabila terdapat informasi keamanan seperti autentikasi, informasi tersebut disimpan tidak disimpan di dalam hook, namun disimpan melalui connection Airflow di dalam metadata terenkripsi yang berada di bahwa Airflow.

Provider

Provider merupakan paket-paket yang dikelola oleh komunitas dan mencakup seluruh Operator dan Hook inti untuk suatu layanan tertentu. Misalnya Amazon, Google, dan Salesforce. Di dalam Airflow 2.0, paket-paket tersebut dapat di-instal ke dalam lingkungan Airflow secara terpisah namun terhubung.

Plugin

Plugin yang terdapat pada Airflow mewakili kombinasi dari Hook dan Operator yang dapat digunakan untuk menyelesaikan sebuah tugas tertentu, misalnya mentransfer data dari Salesforce ke Redshift. Kamu bisa cek open-source library plugin Airflow untuk mengecek kalau plugin yang kamu butuhkan sudah dibuat oleh komunitas atau belum.

Connection

Connection merupakan tempat di mana Airflow menyimpan informasi yang kamu butuhkan untuk terhubung dengan sistem eksternal, seperti informasi autentikasi dan token API. Dalam Airflow, connection dikelola secara langsung dari UI-nya dan informasi yang sesungguhnya dienkripsi serta disimpan sebagai metadata dalam database MySQL atau PostgreSQL.

Baca juga: Cara Kerja dan Praktik Terbaik Extract Transform Load (ETL)

Manfaat Airflow untuk ELT

Ada beberapa alasan Airflow jadi platform unggulan bagi para data engineer, tepatnya dalam proses Extract, Transform, dan Load alias ETL.

·         Sejak pertama kali diperkenalkan pada tahun 2015, Airflow Community terus mengalami pertumbuhan namun dalam tingkat pertumbuhan yang sehat. Dilaporkan oleh Qubole, saat ini Airflow Community telah memiliki lebih dari 1.000 kontributor.

·         Apache Airflow bisa digunakan untuk berbagai kasus penggunaan custom sesuai kebutuhan penggunanya. Dengan adanya kemampuan untuk menambahkan hook atau operator custom beserta plugin lainnya, kamu bisa menerapkan kasus penggunaan custom dengan mudah tanpa harus bergantung pada Airflow Operator sepenuhnya.

·       Sejak awal, Airflow sudah menambahkan beberapa fungsionalitas ke dalamnya. Lewat kontribusi para data engineer yang tergabung ke dalam komunitasnya, Airflow menjadi solusi lengkap yang mampu menyelesaikan begitu banyak kasus penggunaan data engineering.

·         Airflow Community terus mengembangkan performa dan stabilitas platform Airflow dengan menggarap berbagai fitur-fitur penting di dalamnya.

·         Proses pembuatan pipeline-nya dinamis karena menggunakan Python. Dengan begitu, kamu sebagai pengguna akan bisa membuat kode yang bisa menciptakan pipeline secara dinamis.

Belajar Airflow Lebih Mendalam untuk Jadi Data Engineer Andal

Tak heran kalau Apache Airflow menjadi salah satu platform utama bagi para data engineer, apalagi jika melihat popularitas serta sederet keunggulan yang platform ini miliki. Oleh karena itu, kamu yang ingin jadi seorang data engineer andal, tentu juga harus menguasai platform data engineering yang satu ini, kan?

Untungnya, kamu bisa belajar Airflow sekaligus mempersiapkan diri jadi data engineer lewat Bootcamp Data Engineer dari Digital Skola. Melalui program ini, kamu akan pelajari semua skill yang dibutuhkan seorang data engineer andal agar bisa bersaing di dunia industri. Ditambah lagi, Digital Skola menerapkan kurikulum berbasis industri yang menitikberatkan pada praktik. Jadi, kamu bisa sekaligus asah skill practical-mu langsung di bawah bimbingan pengajar berpengalaman.

Jadi, apakah kamu sudah siap jadi data engineer yang industri butuhkan? Klik tombol di bawah ini buat info lengkap Bootcamp Data Engineer, ya!

Artikel Rekomendasi