Vue d'ensemble

Airflow 2.3, publié le 1er mai 2022, introduit le dynamic task mapping et la vue en grille pour une meilleure visualisation des DAGs.

Fonctionnalités principales

Dynamic task mapping

Le dynamic task mapping permet de créer un nombre variable de tâches à l'exécution, remplaçant les patterns complexes de génération dynamique de DAGs.

python
from airflow.decorators import dag, task
from datetime import datetime

@dag(schedule_interval='@daily', start_date=datetime(2022, 1, 1))
def etl_pipeline():
    @task
    def extraire():
        return ['fichier1.csv', 'fichier2.csv', 'fichier3.csv']

    @task
    def transformer(fichier: str):
        return f'traité_{fichier}'

    fichiers = extraire()
    transformer.expand(fichier=fichiers)  # dynamic mapping

etl_pipeline()

Vue en grille

La nouvelle vue en grille (grid view) remplace la tree view et offre une meilleure visualisation de l'historique d'exécution des tâches.

python
from airflow.decorators import dag, task
from datetime import datetime

@dag(schedule_interval='@hourly', start_date=datetime(2022, 1, 1))
def monitoring():
    @task
    def verifier_sante():
        return {'status': 'ok'}

    @task
    def notifier(resultat: dict):
        if resultat['status'] != 'ok':
            print('Alerte !')

    resultat = verifier_sante()
    notifier(resultat)
# Grid view visible dans l'interface web

Sources