Airflow 2个任务完成后如何设置下游任务
我并行运行任务(T1和T2)。如何设置下游任务T3,这取决于T1和T2是否成功完成Airflow 2个任务完成后如何设置下游任务,airflow,Airflow,我并行运行任务(T1和T2)。如何设置下游任务T3,这取决于T1和T2是否成功完成 [T1,T2]。设置下游(T3) 但是,获取以下错误AttributeError:“list”对象没有属性“set_downstream”有几种方法可以实现任务依赖性,或者只需查看下面的示例 T1.set_downstream(T3) T2.set_downstream(T3) 或 T3.设置上游([T1,T2]) 或 [T1,T2]>>T3有几种方法可以实现任务依赖性,或者只需查看下面的示例 T1.set_d
[T1,T2]。设置下游(T3)
但是,获取以下错误AttributeError:“list”对象没有属性“set_downstream”有几种方法可以实现任务依赖性,或者只需查看下面的示例
T1.set_downstream(T3)
T2.set_downstream(T3)
或
T3.设置上游([T1,T2])
或
[T1,T2]>>T3
有几种方法可以实现任务依赖性,或者只需查看下面的示例
T1.set_downstream(T3)
T2.set_downstream(T3)
或
T3.设置上游([T1,T2])
或
[T1,T2]>>T3
如何设置上下游依赖关系:
让我们举个例子:它包含3个任务,因此您可以设置
上下游依赖关系如下:
[t1,t2]>>t3
t1 = PythonOperator(
task_id='t1',
dag=dag,
python_callable=call_me,
)
t2 = PythonOperator(
task_id='push_by_returning',
dag=dag,
python_callable=call_me_too(),
)
t3 = PythonOperator(
task_id='puller',
dag=dag,
python_callable=status_chcker,
trigger_rule="all_done"
)
[t1, t2] >> t3
如何设置下游作业触发器的条件:
触发规则=“全部完成”有多个触发规则,可以根据这些规则触发下游作业。
- all_success:(默认)所有家长都已成功
- 所有\u失败:所有父级都处于失败或上游\u失败状态
- 全部完成:所有的父母都被处决了
- one_failed:一旦至少有一个父级出现故障,就会触发 不要等到所有的父母都做了
- one_success:只要至少有一个父级成功,它就会触发 不要等到所有的父母都做了
- none_failed:所有父级未失败(失败或上游_失败) i、 e.所有家长都已成功或被跳过
- none_skipped(无跳过):没有父项处于跳过状态,即所有父项都处于跳过状态 处于成功、失败或失败状态
- 虚拟:依赖项只是为了显示,随意触发
t1 = PythonOperator(
task_id='t1',
dag=dag,
python_callable=call_me,
)
t2 = PythonOperator(
task_id='push_by_returning',
dag=dag,
python_callable=call_me_too(),
)
t3 = PythonOperator(
task_id='puller',
dag=dag,
python_callable=status_chcker,
trigger_rule="all_done"
)
[t1, t2] >> t3
如何设置下游作业触发器的条件:
触发规则=“全部完成”有多个触发规则,可以根据这些规则触发下游作业。
- all_success:(默认)所有家长都已成功
- 所有\u失败:所有父级都处于失败或上游\u失败状态
- 全部完成:所有的父母都被处决了
- one_failed:一旦至少有一个父级出现故障,就会触发 不要等到所有的父母都做了
- one_success:只要至少有一个父级成功,它就会触发 不要等到所有的父母都做了
- none_failed:所有父级未失败(失败或上游_失败) i、 e.所有家长都已成功或被跳过
- none_skipped(无跳过):没有父项处于跳过状态,即所有父项都处于跳过状态 处于成功、失败或失败状态
- 虚拟:依赖项只是为了显示,随意触发