我正在尝试在 Bigquery 运算符中对 params 字段进行模板化,如下所示。
t3 = MyBigQueryOperator(
task_id='autoplay_calc',
bql='autoplay_calc.sql',
params={
"env" : deployment
,"region" : region
,"partition_start_date" : '{{ macros.ds_add(ds, -1) }}'
},
bigquery_conn_id='gcp_conn',
use_legacy_sql=False,
write_disposition='WRITE_APPEND',
allow_large_results=True,
provide_context=True,
destination_dataset_table=reporting_project + '.pa_reporting_public_batch.autoplay_calc',
dag=dag
)
Run Code Online (Sandbox Code Playgroud)
我意识到 params 不是模板化字段,因此我扩展了 Bigqueryoperator 如下,使其成为模板化字段。
class MyBigQueryOperator(BigQueryOperator):
template_fields = ('params', 'bql', 'destination_dataset_table')
Run Code Online (Sandbox Code Playgroud)
但是,当我运行代码时,它似乎没有转换 params 字段,因为我收到了以下错误消息
Could not cast literal "{{ macros.ds_add(ds, -1) }}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
315 次 |
最近记录: |