Датчики Airflow

Вступ до Apache Airflow на Python

Mike Metzger

Data Engineer

Датчики

  • Оператор, що очікує, доки умова стане істинною
    • Створення файла
    • Завантаження запису в базу даних
    • Відповідь на вебзапит
  • Можна задати, як часто перевіряти умову
  • Призначається завданням

Ілюстрація датчика Airflow, що очікує, доки умова стане істинною

Вступ до Apache Airflow на Python

Подробиці про датчики

  • Похідні від airflow.sdk.BaseSensorOperator
  • Аргументи датчика:
  • mode — як перевіряти умову
    • mode='poke' — типово, перевіряти повторно
    • mode='reschedule' — звільнити слот завдання й спробувати пізніше
  • poke_interval — інтервал між перевірками
  • timeout — як довго чекати до помилки завдання
  • Також має звичайні атрибути оператора
Вступ до Apache Airflow на Python

Датчик файлів

  • Є частиною бібліотеки airflow.providers.standard.sensors
  • Перевіряє наявність файла у вказаному місці
  • Також може перевіряти, чи є файли в каталозі
from airflow.providers.standard.sensors.filesystem import FileSensor

file_sensor_task = FileSensor(task_id='file_sense',
                              filepath='salesdata.csv',
                              poke_interval=300,
                              timeout=3000
                              )

init_sales_cleanup() >> file_sensor_task >> generate_report()
Вступ до Apache Airflow на Python

Інші датчики

  • Багато інших у airflow.providers.*.sensors
  • ExternalTaskSensor — очікує завершення завдання в іншому Dag
  • HttpSensor — надсилає вебзапит і перевіряє вміст
  • SqlSensor — виконує SQL-запит для перевірки вмісту
Вступ до Apache Airflow на Python

Коли використовувати датчики?

  • Коли невідомо, коли умова стане істинною
  • Коли не бажано одразу падати з помилкою
  • Додає повторення завдань без циклів

 

 

Ілюстрація датчика Airflow, що очікує, доки умова стане істинною

Вступ до Apache Airflow на Python

Давайте потренуємось!

Вступ до Apache Airflow на Python

Preparing Video For Download...