Sensor Airflow

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

Sensor

Apa itu sensor?

  • Operator yang menunggu kondisi tertentu menjadi benar
    • Pembuatan file
    • Unggah rekaman database
    • Respons tertentu dari permintaan web
  • Dapat mengatur seberapa sering mengecek kondisi
  • Ditugaskan ke task
Pengantar Apache Airflow dengan Python

Detail sensor

  • Turunan dari airflow.sensors.base_sensor_operator
  • Argumen sensor:
  • mode - Cara mengecek kondisi
    • mode='poke' - Default, dijalankan berulang
    • mode='reschedule' - Lepas slot task dan coba lagi nanti
  • poke_interval - Jeda antar pengecekan
  • timeout - Batas waktu sebelum task gagal
  • Juga mencakup atribut operator biasa
Pengantar Apache Airflow dengan Python

File sensor

  • Bagian dari pustaka airflow.sensors
  • Mengecek keberadaan file pada lokasi tertentu
  • Juga bisa mengecek apakah ada file dalam sebuah direktori
from airflow.sensors.filesystem import FileSensor

file_sensor_task = FileSensor(task_id='file_sense',
                              filepath='salesdata.csv',
                              poke_interval=300,
                              dag=sales_report_dag)

init_sales_cleanup >> file_sensor_task >> generate_report
Pengantar Apache Airflow dengan Python

Sensor lain

  • ExternalTaskSensor - menunggu task di DAG lain selesai
  • HttpSensor - Meminta URL web dan mengecek konten
  • SqlSensor - Menjalankan kueri SQL untuk mengecek konten
  • Banyak lainnya di airflow.sensors dan airflow.providers.*.sensors
Pengantar Apache Airflow dengan Python

Mengapa sensor?

Gunakan sensor...

  • Waktu terpenuhinya kondisi tidak pasti
  • Jika kegagalan tidak diinginkan segera
  • Untuk menambah pengulangan task tanpa loop
Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...