如何使用python操作符在dag文件中使用xCom?
我正在处理这个dag文件,以便使用XCOM进行一些测试,但不确定如何在python操作符之间使用它。有人可以帮助编写逻辑,使用XCOM推拉函数在python操作符之间传递消息吗。下面是我正在处理的dag文件 问题是如何将消息从每个任务传递到另一个任务如何使用python操作符在dag文件中使用xCom?,python,airflow,directed-acyclic-graphs,Python,Airflow,Directed Acyclic Graphs,我正在处理这个dag文件,以便使用XCOM进行一些测试,但不确定如何在python操作符之间使用它。有人可以帮助编写逻辑,使用XCOM推拉函数在python操作符之间传递消息吗。下面是我正在处理的dag文件 问题是如何将消息从每个任务传递到另一个任务 @dag_factory def create_dag(): with DAG( dag_id="DSStest", default_args=default_args, schedule_i
@dag_factory
def create_dag():
with DAG(
dag_id="DSStest",
default_args=default_args,
schedule_interval=timedelta(1),
) as dag:
# Define operators here, for example:
output_file = path_in_workspace("testout")
rscript_file = path_in_workspace("rtest2.R ")
bcmd1 = "downloading some file here..."
t0 = PythonOperator(
task_id="start",
python_callable=my_func2,
provide_context=True,
op_args=[output_file, 0],
)
t1 = PythonOperator(
task_id="job1",
python_callable=my_func1,
provide_context=True,
op_args=[output_file, 1],
)
t2 = PythonOperator(
task_id="job2",
python_callable=my_func1,
provide_context=True,
op_args=[output_file, 2],
)
t10 = PythonOperator(
task_id="job10",
python_callable=my_func2,
provide_context=True,
op_args=[output_file, 10],
)
t20 = BashOperator(
task_id="job20",
bash_command=bcmd1,
queue={
"worker_type": "png-bash-worker",
"request_memory": "1G",
"request_cpu": 1,
},
)
# Define dependencies between operators here, for example:
t0 >> t1
t0 >> t2
t1 >> t10
t2 >> t10
t10 >> t11
t11 >> t20
return dag # Do not change this
我建议看一下这个示例,它显示/解释了有关XCOM和Python操作符的所有内容:
官方气流页面还详细介绍了XCOM:
我认为这与本例无关,但是
@dag_工厂
装饰器是您创建的吗?我以前没见过。可能的重复请也看看这个问题的答案:这个例子很好,但我们不要假装官方页面对它进行了详细的解释,至少在发表评论时是这样。如果您还不知道XCOM是如何工作的,或者还没有一个示例,那么现有的文档几乎没有用处,并且缺乏必要的上下文。