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

Sources