当在应用程序上使用PythonOperator时,如何使用Python函数的返回值/

当在应用程序上使用PythonOperator时,如何使用Python函数的返回值/,python,airflow,directed-acyclic-graphs,Python,Airflow,Directed Acyclic Graphs,我正在构建一个带有多个PythonOperator节点的气流DAG。其中一个返回一个值,该值稍后将用作另一个运算符的参数。但是我如何存储和访问这个返回值呢 例如: 我有以下功能 def sum(a, b): return a + b def compare(c, d): return c > d 和下列dag: sum = PythonOperator( task_id = 'sum', python_callable = sum, o

我正在构建一个带有多个PythonOperator节点的气流DAG。其中一个返回一个值,该值稍后将用作另一个运算符的参数。但是我如何存储和访问这个返回值呢

例如: 我有以下功能

def sum(a, b):
    return a + b

def compare(c, d):
   return c > d
和下列dag:

sum = PythonOperator(
      task_id = 'sum',
      python_callable = sum,
      op_args = [a, b],
      dag = dag
      )

compare = PythonOperator(
     task_id = 'compare',
     python_callable = compare,
     op_args = [{VALUE}, c]
     dag = dag
     )

sum >> compare

我希望{VALUE}是执行sum节点时返回的值。如何存储和访问它?

您可以尝试通过以下方式共享状态或结果:


请不要忘记
向PythonOperator参数提供\u context=True

您可以尝试通过XCOM共享结果
def sum(a, b, **context):
    result = a + b 
    context['task_instance'].xcom_push(key='result_of_sum', value=result)

def compare(c, d, **context):
   result_of_sum = context['task_instance'].xcom_pull(key='result_of_sum')
   return c > d