Airflow 对象的气流分支错误不可编辑
我正在尝试使BranchPythonOperator工作,但出现以下错误:Airflow 对象的气流分支错误不可编辑,airflow,Airflow,我正在尝试使BranchPythonOperator工作,但出现以下错误: “BigQueryInsertJobOperator”对象不可编辑 这是我的分行接线员: branching = BranchPythonOperator( task_id='branching', python_callable=return_branch, provide_context=True) 以下是我的Python可调用代码: def return_branc
“BigQueryInsertJobOperator”对象不可编辑
这是我的分行接线员:
branching = BranchPythonOperator(
task_id='branching',
python_callable=return_branch,
provide_context=True)
以下是我的Python可调用代码:
def return_branch(ds, **kwargs):
execution_year = kwargs['execution_date'].strftime("%Y")
type = dataset_metadata[f'{execution_year}']['var']
if type == 'foo':
return x
return y
x和y是BigQueryInsertJobOperator:
branching = BranchPythonOperator(
task_id='branching',
python_callable=return_branch,
provide_context=True)
x = BigQueryInsertJobOperator(
task_id='x',
configuration={
"query": {
"query": "{% include 'q.sql' %}",
"use_legacy_sql": False
}
},
dag=dag)
我想提一下。您的方法return\u branch
,不应返回运算符。它必须返回操作员的任务id
。你会得到这样的结果:
def返回分支(ds,**kwargs):
下一个任务
返回下一个任务\u id
分支=BranchPythonOperator(
task\u id=“选择查询”,
python\u callable=返回\u分支,
提供上下文=True,
)
选项1=DummyOperator(任务id=“a”)
选项2=DummyOperator(任务id=“b”)
分支>>[选项1,选项2]
您在哪里定义
x
?在return\u branch
?@lionbigcat内我已经编辑了我的问题,希望它更清晰。好的。谢谢我被搞糊涂了,因为我的任务和任务ID同名,我的分支没有返回字符串,而是返回操作符本身。