Vue d'ensemble
Apache Airflow 3.0, publie le 15 mars 2025, est une reecriture majeure introduisant les Assets, un nouveau systeme de backfill et une interface d'execution de taches (TEI).
Fonctionnalites principales
Assets (ex-Datasets)
Les Datasets sont renommes en Assets avec une API enrichie. Les DAGs peuvent etre declenches par des evenements sur les assets, permettant une orchestration data-driven.
from airflow.sdk import Asset, DAG, task
donnees_brutes = Asset('s3://bucket/raw/data.csv')
donnees_propres = Asset('s3://bucket/clean/data.parquet')
@task
def nettoyer(source: Asset) -> Asset:
# Traitement des donnees
return donnees_propres
with DAG('etl', schedule=[donnees_brutes]):
nettoyer(donnees_brutes)
Backfills ameliores
Le systeme de backfill est entierement repense. Les backfills peuvent etre lances, mis en pause et annules via l'UI ou l'API, avec un suivi de progression detaille.
# CLI Airflow 3.0
# airflow backfills create --dag-id etl \
# --from-date 2025-01-01 --to-date 2025-03-01
# API REST
# POST /api/v2/backfills
# {"dag_id": "etl",
# "from_date": "2025-01-01",
# "to_date": "2025-03-01"}
Task Execution Interface (TEI)
La nouvelle interface d'execution de taches (TEI) decouple l'execution des taches du scheduler. Les executeurs peuvent tourner sur des workers distants avec une communication via API.
# airflow.cfg
# [core]
# executor = airflow.executors.local_executor.LocalExecutor
# La TEI permet aux workers distants
# de communiquer via l'API Airflow
# au lieu d'acceder directement a la BDD
# Lancer un worker distant :
# airflow worker --executor-url http://airflow-api:8080
