如果我使用带有SQL模板的BigQueryOperator,如何将参数传递给该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,
)发布于 2018-08-30 20:03:11
您可以在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参数的输入应该是一个字典。通常,气流中的任何操作符都可以传递这个params参数。
https://stackoverflow.com/questions/52103717
复制相似问题