You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache Airflow中按需单独运行DAG特定任务并控制上下游?

Apache Airflow 单个任务按需运行及上下游控制方案

Airflow完全支持按需临时运行单个任务,并且可以灵活控制是否连带其上游或下游任务执行,实现类似dbt CLI中dbt run --select +model_name+的效果,具体操作方式如下:

一、UI操作方式

  1. 登录Airflow Web UI,定位到目标DAG,进入Graph View或Tree View页面
  2. 选中目标任务节点,点击节点右上角操作按钮(或右键节点),选择Trigger Task
  3. 在弹出的配置窗口中,根据需求选择:
    • 仅运行当前任务:直接触发,不关联上下游
    • 连带上游任务:勾选"Include Upstream",会先运行该任务的所有上游依赖任务
    • 连带下游任务:勾选"Include Downstream",当前任务完成后自动触发所有下游任务
    • 同时连带上下游:同时勾选两个选项,实现类似dbt +model_name+的全链路关联运行

二、CLI命令方式

通过Airflow CLI可以更灵活地批量或脚本化执行,核心命令是airflow tasks run,支持以下参数控制上下游:

  • 仅运行单个任务:
    airflow tasks run <dag_id> <task_id> <execution_date>
    
  • 连带上游任务执行:
    airflow tasks run <dag_id> <task_id> <execution_date> --include-upstream
    
  • 连带下游任务执行:
    airflow tasks run <dag_id> <task_id> <execution_date> --include-downstream
    
  • 同时连带上下游任务(类似dbt +model_name+):
    airflow tasks run <dag_id> <task_id> <execution_date> --include-upstream --include-downstream
    

注意:如果只是用于调试任务逻辑,无需记录正式DAG运行记录,可以使用airflow tasks test命令,该命令不会写入元数据库,直接在本地执行任务:

airflow tasks test <dag_id> <task_id> <execution_date>

补充说明

  • 执行时需要指定execution_date,可以使用当前时间(如$(date -Iseconds))或任意合法的时间格式
  • 对于Airflow 2.x版本,上述命令均适用;1.x版本可替换为airflow run(功能类似)

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:17:45