我目前在Apache气流中使用以下语句
s10_test_load = bigquery.BigQueryInsertJobOperator(
task_id="10_test_load",
configuration={
"query": {
"query": "{% include './scripts/10_test_load.sql' %}",
"useLegacySql": False,
},
},
) 该语句工作正常,并从脚本文件执行sql。
我希望动态地使用变量中的文件名,如下所示
file_name='./scripts/10_test_load.sql'
s10_test_load = bigquery.BigQueryInsertJobOperator(
task_id="10_test_load",
configuration={
"query": {
"query": "{% include file_name %}",
"useLegacySql": False,
},
},
) 如何在jinja包含中传递python变量?
发布于 2021-12-13 00:23:34
您可以使用f-string格式,并添加另一对花括号,如下所示:
file_name='bq/queries/10_test_load.sql'
t2 = BigQueryInsertJobOperator(
task_id="10_test_load",
configuration={
"query": {
"query": f"{{% include '{file_name}' %}}",
"useLegacySql": False,
},
},
)这将按照所需的方式呈现:

https://stackoverflow.com/questions/70324891
复制相似问题