Skip to content

Pengembangan ETL menggunakan apache airflow sebagai tugas mata kuliah rekayasa data

Notifications You must be signed in to change notification settings

frchandra/flight-data

Repository files navigation

Airflight Data ETL Project

Python Apache Airflow Docker MIT license

Anggota Kelompok

  1. Nismara Chandra Herdiputra 20/456374/TK/50504
  2. Aditya Ramadhan 20/460535/TK/51124
  3. Fiorenza Celestyn 20/460545/TK/51134
  4. Agnes Suarna 20/463589/TK/51581
  5. Ananta Pridya Yudha 20/463592/tk/51584

Cara Menjalankan Aplikasi

  1. Karena aplikasi ini sangat bergantung pada kinerja docker yang stabil, maka disarankan untuk menjalankan kode ini menggunakan OS dan environment Linux. Alterfatif bagi pengguna OS selain linux adalah menjalankan docker desktop atau virtualisasi linux. Penjelasan cara menginstall docker tidak dijelaskan disini

  2. Clone/fork repositoty ini lalu pindahkan working directory anda ke repository ini

  3. Karena repository ini menggunakan image apache airflow yang telah dimodifikasi (anda dapat melihat modifikasi yang diterpakan di dalam Dockerfile), maka anda berlu membuat imagenya terlebih dahulu menggunakan docker command dibawah ini. (mungkin memakan durasi yang lama)

docker compose build
  1. Secara default kami mengatur port aplikasi ini berjalan di 80 untuk webserver dan 5432 untuk database. Namun anda dapat mengkustomisasinya dengan cara mengedit entry 'ports' di file docker-compose-nya. Anda hanya dapat mengedit port milik 'host' (yang sisi kiri)

  2. Pastikan tidak ada error pada saat proses build Lalu jalankan container aplikasi ini dengan docker command

docker compose up
  • gunakan command ini bila ingin menjalankan dengan mode running in the background
docker compose up -d
  1. Akseslah url http://localhost dengan port yang anda konfigurasi (secara default 80 http://localhost:80). Bila anda semua terkonfigurasi dengan benar dan berjalan dengan baik, maka seharusnya anda melihat tampilan login seperti ini dashboard-login username dan password defaultnya adalah airflow/airflow

  2. Setelah anda berhasil login, anda dapat melihat halaman ini dashboard-home

  3. Selanjutnya anda perlu mengkoneksikan aplikasi ini dengan layanan yang dibutuhkan (database dan RESTapi). Untuk ini anda perlu mengakses meenu admin->connections

  4. Menghubungkan airflow dengan database. Untuk menghubungkan dengan database anda perlu melihat nama container database yang berjalan dengan mengetikan perintah ini di terminal docker ps. Sebagai contoh, nama container database milik kami adalah flight-data-postres-1. Nama container ini akan digunakan sebagai alamat database host. docker-ps Tekan tombol 'plus' lalu lengkapi kolom konfigurasi seperti ini. Jika anda tidak memodifikasi konfigurasi apapun dan mengikuti langkah default, maka seharunnya anda hanya perlu mengikuti tangkap layar kami berikut ini (schema, user dan password default adalah 'airflow') db-connection-configurationAnda dapat mencoba mengklik tombol test, jika konfiguasi benar maka akan muncul notifikasi positif. Setelah berhasil klik tombol 'save'

  5. Menghubungkan airflow dengan RestAPI service Kembali ke halaman add connection, tekan kembali tombol 'plus' lalu isi kolom konfigurasi sesuai dengan tangkap layar berikut ini. api-conf-1api-conf-2

  6. Buatlah tabel-tabel yang diperlukan oleh aplikasi di database postgres. Anda dapat menggunakan script yang terdapat di sini untuk di-inject-kan kedalam container database. Untuk melakukan ini, anda perlu mengakses container database menggunakan database client kesayangan anda. Detail pembuatan table tidak dijelaskan disini

  7. Konfigurasi selesai. Selanjutnya anda dapat kembali ke halaman 'home' dan sudah bisa menjalankan 'dag_etl_aircraft' atau 'dag_flight_data'

  8. Jika anda ingin melihat penjelasan yang lebih detail anda dapat melihat video penjelasan yang kami sertakan

Link Video Presentasi

Link File Presentasi

About

Pengembangan ETL menggunakan apache airflow sebagai tugas mata kuliah rekayasa data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors