Capteurs Airflow

Introduction à Apache Airflow en Python

Mike Metzger

Data Engineer

Capteurs

Qu’est-ce qu’un capteur ?

  • Un opérateur qui attend qu’une condition soit vraie
    • Création d’un fichier
    • Ajout d’un enregistrement en base
    • Réponse spécifique d’une requête web
  • Permet de définir la fréquence de vérification
  • S’assigne à des tâches
Introduction à Apache Airflow en Python

Détails des capteurs

  • Hérités de airflow.sensors.base_sensor_operator
  • Arguments d’un capteur :
  • mode – Comment vérifier la condition
    • mode='poke' – Par défaut, exécutions répétées
    • mode='reschedule' – Libère le slot et réessaie plus tard
  • poke_interval – Intervalle entre vérifications
  • timeout – Délai avant échec de la tâche
  • Inclut aussi les attributs classiques des opérateurs
Introduction à Apache Airflow en Python

Capteur de fichier

  • Fait partie de la bibliothèque airflow.sensors
  • Vérifie l’existence d’un fichier à un emplacement donné
  • Peut aussi vérifier la présence de fichiers dans un dossier
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
Introduction à Apache Airflow en Python

Autres capteurs

  • ExternalTaskSensor – attend la fin d’une tâche dans un autre DAG
  • HttpSensor – envoie une requête web et vérifie le contenu
  • SqlSensor – exécute une requête SQL pour vérifier le contenu
  • Nombreux autres dans airflow.sensors et airflow.providers.*.sensors
Introduction à Apache Airflow en Python

Pourquoi des capteurs ?

Utilisez un capteur…

  • Quand le moment est incertain
  • Si l’échec immédiat n’est pas souhaité
  • Pour répéter une tâche sans boucles
Introduction à Apache Airflow en Python

Passons à la pratique !

Introduction à Apache Airflow en Python

Preparing Video For Download...