如果我将BigQueryOperator与SQL模板一起使用,如何将参数传递给SQL?
文件:.sql / query.sql
SELECT * FROM `dataset.{{ task_instance.variable_for_execution }}
文件:dag.py
BigQueryOperator(
task_id='compare_tables',
sql='./sql/query.sql',
use_legacy_sql=False,
dag=dag,
)
答案 0 :(得分:2)
您可以在params
参数中传递参数,该参数可以在模板字段中使用,如下所示:
BigQueryOperator(
task_id='',
sql='SELECT * FROM `dataset.{{ params.param1 }}',
params={
'param1': 'value1',
'param2': 'value2'
},
use_legacy_sql=False,
dag=dag
)
或者您可以在文件中单独添加SQL:
文件:./sql/query.sql
SELECT * FROM `dataset.{{ params.param1 }}
params
参数的输入应为字典。通常,可以向{flow}中的任何操作员传递此params
参数。