Airflow 合并分支管操作器和PythonVirtualenvOperator
我有一个Airflow 合并分支管操作器和PythonVirtualenvOperator,airflow,Airflow,我有一个pythonvirtualenvooperator,它从数据库中读取一些数据-如果没有新数据,那么DAG应该在那里结束,否则它应该调用其他任务,例如 #dag.py 加载\u数据>>[如果\u数据,如果\u没有\u数据]>>另一个\u任务>>最后一个\u任务 我知道可以使用PythonBranchOperator完成,但我不知道如何将venv和分支操作符组合起来 它可行吗?这可以使用Xcom解决。 load\u date可以推送它处理的记录数(新数据) 您的管道可以是: def cho
pythonvirtualenvooperator
,它从数据库中读取一些数据-如果没有新数据,那么DAG应该在那里结束,否则它应该调用其他任务,例如
#dag.py
加载\u数据>>[如果\u数据,如果\u没有\u数据]>>另一个\u任务>>最后一个\u任务
我知道可以使用PythonBranchOperator
完成,但我不知道如何将venv和分支操作符组合起来
它可行吗?这可以使用Xcom解决。
load\u date
可以推送它处理的记录数(新数据)
您的管道可以是:
def choose(**context):
value = context['ti'].xcom_pull(task_ids='load_data')
if int(value)>0:
return 'if_data'
return 'if_no_data'
branch = BranchPythonOperator(
task_id='branch_task',
provide_context=True, # Remove this line if Airflow>=2.0.0
python_callable=choose)
load_data >> branch >>[if_data,if_no_data]>>another_task>>last_task
PythonVirtualenvOperator是加载数据吗?您是否考虑过使用xcom返回true/false?如果触发了
如果没有数据
,即另一个任务
,最后一个任务
应该只在如果数据
Nvm之后运行,我想停止,我想添加另一个任务。设置上游(如果数据)
和最后一个任务。设置上游(另一个任务)
在加载数据>>分支机构>>[如果有数据,则无数据]
完成交易之前