我写了一个带有多个pythonoperator的DAG,像这样
def Task1:
# Do something and return an array
return ["a","b","c"]
def Task2:
# Do something
return
with DAG(
...
) as dag:
task1 = PythonOperator(
task_id="task1_id",
python_callable=Task1,
)
task1_result= # Result of task1
for value in task1_result:
t = PythonOperator(
task_id=f"task2_id_{value}",
python_callable=Task2
task1 >> t
如何得到task1_result
变量task1
的值?有什么办法吗?
这很难告诉没有上下文,但假设Task1
返回只是一个简单的结果列表,没有任何复杂的逻辑,你可以这样做,如果你想动态构建你的DAG:
def Task1:
# Do something and return an array
return ["a","b","c"]
def Task2:
# Do something
return
with DAG(
...
) as dag:
task1 = PythonOperator(
task_id="task1_id",
python_callable=Task1,
)
for value in Task1():
t = PythonOperator(
task_id=f"task2_id_{value}",
python_callable=Task2
task1 >> t