Airflow-sensors

Introductie tot Apache Airflow in Python

Mike Metzger

Data Engineer

Sensors

Wat is een sensor?

  • Een operator die wacht tot een voorwaarde waar is
    • Aanmaak van een bestand
    • Upload van een databaserecord
    • Bepaalde respons op een webverzoek
  • Je kunt instellen hoe vaak er gecontroleerd wordt
  • Worden aan taken gekoppeld
Introductie tot Apache Airflow in Python

Sensor-details

  • Afgeleid van airflow.sensors.base_sensor_operator
  • Sensor-argumenten:
  • mode - Hoe de voorwaarde te checken
    • mode='poke' - Standaard, herhaaldelijk draaien
    • mode='reschedule' - Taakslot vrijgeven en later opnieuw proberen
  • poke_interval - Interval tussen checks
  • timeout - Hoe lang wachten vóór taak faalt
  • Bevat ook normale operator-attributen
Introductie tot Apache Airflow in Python

File sensor

  • Onderdeel van de airflow.sensors-bibliotheek
  • Checkt of er een bestand op een locatie bestaat
  • Kan ook checken of er bestanden in een map staan
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
Introductie tot Apache Airflow in Python

Andere sensors

  • ExternalTaskSensor - wacht tot een taak in een andere DAG klaar is
  • HttpSensor - Doet een webverzoek en checkt op content
  • SqlSensor - Voert SQL uit om op content te checken
  • Nog veel meer in airflow.sensors en airflow.providers.*.sensors
Introductie tot Apache Airflow in Python

Waarom sensors?

Gebruik een sensor...

  • Als het moment onzeker is
  • Als je niet meteen wilt falen
  • Om herhaling toe te voegen zonder loops
Introductie tot Apache Airflow in Python

Laten we oefenen!

Introductie tot Apache Airflow in Python

Preparing Video For Download...