Vue d'ensemble
Airflow 2.4, publié le 20 septembre 2022, introduit les Datasets et le data-aware scheduling pour déclencher les DAGs en fonction des données.
Fonctionnalités principales
Datasets
Les Datasets sont des références logiques à des données qui permettent de créer des dépendances entre DAGs basées sur la disponibilité des données.
python
from airflow import Dataset
from airflow.decorators import dag, task
from datetime import datetime
mon_dataset = Dataset('s3://bucket/data.parquet')
@dag(schedule_interval='@daily', start_date=datetime(2022, 1, 1))
def producteur():
@task(outlets=[mon_dataset])
def produire():
return 'données produites'
produire()
producteur()
Data-aware scheduling
Le data-aware scheduling déclenche automatiquement un DAG quand les datasets dont il dépend sont mis à jour, remplaçant les sensors dans beaucoup de cas.
python
from airflow import Dataset
from airflow.decorators import dag, task
from datetime import datetime
mon_dataset = Dataset('s3://bucket/data.parquet')
@dag(schedule=[mon_dataset], start_date=datetime(2022, 1, 1))
def consommateur():
@task
def traiter():
return 'données traitées'
traiter()
# Déclenché quand mon_dataset est mis à jour
