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
