gpt4 book ai didi

python - 将参数从 Airflow 运算符传递给 SQL 模板

转载 作者:行者123 更新时间:2023-12-01 01:38:57 26 4
gpt4 key购买 nike

如果我将 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,
)

最佳答案

您可以在 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 参数的输入应该是一个字典。一般来说,Airflow 中的任何运算符都可以传递此 params 参数。

关于python - 将参数从 Airflow 运算符传递给 SQL 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52103717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com