Capteurs Airflow

Introduction à Apache Airflow en Python

Mike Metzger

Data Engineer

Capteurs

  • Un opérateur qui attend qu'une condition soit vraie
    • Création d'un fichier
    • Téléversement d'un enregistrement de base de données
    • Réponse d'une requête Web
  • Possibilité de définir la fréquence de vérification
  • Assigné aux tâches

Illustration d'un capteur Airflow qui attend qu'une condition devienne vraie

Introduction à Apache Airflow en Python

Détails des capteurs

  • Hérité de airflow.sdk.BaseSensorOperator
  • Paramètres du capteur :
  • mode - Façon de vérifier la condition
    • mode='poke' - Par défaut, exécuter de façon répétée
    • mode='reschedule' - Libérer le créneau et réessayer plus tard
  • poke_interval - Délai entre les vérifications
  • timeout - Durée d'attente avant l'échec de la tâche
  • Comprend aussi les attributs normaux d'un opérateur
Introduction à Apache Airflow en Python

Capteur de fichier

  • Fait partie de la bibliothèque airflow.providers.standard.sensors
  • Vérifie l'existence d'un fichier à un emplacement donné
  • Peut aussi vérifier si des fichiers existent dans un répertoire
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()
Introduction à Apache Airflow en Python

Autres capteurs

  • Plusieurs autres dans airflow.providers.*.sensors
  • ExternalTaskSensor - attendre qu'une tâche dans un autre DAG se termine
  • HttpSensor - Envoyer une requête Web et vérifier le contenu
  • SqlSensor - Exécuter une requête SQL pour vérifier le contenu
Introduction à Apache Airflow en Python

Quand utiliser des capteurs ?

  • Quand le moment où la condition sera vraie est incertain
  • Si l'échec immédiat n'est pas souhaité
  • Ajouter des répétitions de tâches sans boucles

 

 

Illustration d'un capteur Airflow qui attend qu'une condition devienne vraie

Introduction à Apache Airflow en Python

Passons à la pratique !

Introduction à Apache Airflow en Python

Preparing Video For Download...