Airflow中clear(Downstream, recursive)操作的作用是什么?
通俗解释Airflow的
clear (Downstream, recursive)操作 - 核心本质:把你选中的失败任务,以及它所有下游关联的任务(包括深层嵌套的)的「运行状态记录、执行结果、依赖锁定」全部擦除,让这些任务回到从未运行过的初始状态。
- 为什么失败后必须做这个?
当子任务失败时,Airflow会给它打上「失败」的状态标签,下游任务因为依赖这个失败任务,会被死死卡在「等待依赖满足」的状态里——哪怕你手动把失败任务改成成功,下游任务还是认之前留下的“依赖失败”的旧记录,不会自动启动。
而clear操作就是把这些旧记录全删掉,相当于给Airflow“洗脑”:“这些任务之前的运行不算数,重新看当前状态”。 - 参数拆解
Downstream:除了选中的失败任务,它后面所有依赖它的下游任务都会被一起清空recursive:如果下游还有分支任务、子DAG这类嵌套结构,会连深层的任务也一并清空,不会漏掉任何关联节点
- 为什么清完标记成功就能跑后续?
清空后,你把失败任务改成成功,此时Airflow看到这个任务是「成功」状态,而下游任务都是未运行的初始状态,就会按照依赖关系正常启动后续任务了。
内容的提问来源于stack exchange,提问作者Oxana Grey
相关产品推荐
相关产品推荐

