Airflow sensörleri

Python ile Apache Airflow'a Giriş

Mike Metzger

Data Engineer

Sensörler

Bir sensör nedir?

  • Belirli bir koşulun doğru olmasını bekleyen operatör
    • Bir dosyanın oluşturulması
    • Veritabanına bir kaydın yüklenmesi
    • Bir web isteğinden belirli bir yanıt
  • Koşulu ne sıklıkla kontrol edeceğini belirleyebilirsiniz
  • Görevlere atanır
Python ile Apache Airflow'a Giriş

Sensör detayları

  • airflow.sensors.base_sensor_operator sınıfından türetilir
  • Sensör argümanları:
  • mode - Koşulun nasıl kontrol edileceği
    • mode='poke' - Varsayılan, tekrar tekrar çalışır
    • mode='reschedule' - Görev yuvasını bırakır, sonra yeniden dener
  • poke_interval - Kontroller arası bekleme süresi
  • timeout - Başarısız olmadan önce bekleme süresi
  • Normal operatör özniteliklerini de içerir
Python ile Apache Airflow'a Giriş

Dosya sensörü

  • airflow.sensors kitaplığının parçasıdır
  • Belirli bir konumda dosya varlığını kontrol eder
  • Bir dizinde herhangi bir dosya olup olmadığını da kontrol edebilir
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
Python ile Apache Airflow'a Giriş

Diğer sensörler

  • ExternalTaskSensor - başka bir DAG'deki bir görevin tamamlanmasını bekler
  • HttpSensor - Bir web URL'sine istek atar ve içerik kontrolü yapar
  • SqlSensor - İçerik kontrolü için bir SQL sorgusu çalıştırır
  • airflow.sensors ve airflow.providers.*.sensors içinde daha fazlası
Python ile Apache Airflow'a Giriş

Neden sensörler?

Bir sensör kullanın...

  • Ne zaman sağlanacağı belirsizse
  • Hemen hata istenmiyorsa
  • Döngüsüz görev tekrarı eklemek için
Python ile Apache Airflow'a Giriş

Hadi pratik yapalım!

Python ile Apache Airflow'a Giriş

Preparing Video For Download...