如何解决PythonOperator 中的气流 PythonOperator
如何在另一个 Pythonoperator 中运行 Pythonoperator?
想法是:将“main”函数作为Pythonoperator调用,然后在里面运行其他几个Pythonoperator并调度它们
代码是:
def printFunction(value):
time.sleep(5)
print(value)
def main():
for i in range(10):
task_2 = Pythonoperator(
task_id='loop_task_2'+str(i),python_callable = printFunction,op_kwargs = {'value':i},dag=dag,)
task_3 = Pythonoperator(
task_id='loop_task_3'+str(i),)
task_2>>task_3
task = Pythonoperator(
task_id='tor_task',python_callable = main,op_kwargs = {},)
解决方法
我认为您期望 Airflow 会在 UI 中创建这些操作符/任务,但这不会发生。使用该代码,您在 UI 中将只有 tor_task
。不太清楚您要做什么,但似乎最好直接在循环中调用 printFunction
。
在任何情况下,如果您必须在 operator 内使用 operator,您应该调用 execute()
方法。有关详细信息,请参阅 this answer
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。