| 装饰器 | @task(任务)与 @dag(DAG) |
|---|---|
| 数据传递 | 函数返回值自动 XCom 序列化 |
| 建立依赖 | 任务函数调用任务函数即可 |
| 适用 | 纯 Python 逻辑、计算轻量的编排 |
TaskFlow 写法
TaskFlow 写法
from datetime import datetime
from airflow.decorators import dag, task
@dag(start_date=datetime(2026, 1, 1), schedule="0 3 * * *", catchup=False)
def etl_demo():
@task
def extract() -> dict:
return {"rows": 100}
@task
def load(meta: dict) -> None:
print(meta["rows"])
load(extract())
etl_demo()XCom 适合传小数据(行数、路径、元信息);几万行结果别塞 XCom,会写进元数据库拖垮调度。