Добавление параметров в качестве полей шаблона в BigQueryOperator - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь создать шаблон поля params в операторе Bigquery, как показано ниже.

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
    )

Я понимаю, что params не является шаблонным полем, поэтому я расширил оператор Bigquery, как показано ниже, чтобы сделать это шаблонное поле.

class MyBigQueryOperator(BigQueryOperator):
    template_fields = ('params', 'bql', 'destination_dataset_table')

Однако, когда я запускаю код, кажется, что он не преобразует поле параметров, когда я получаю сообщение об ошибке ниже

Could not cast literal "{{ macros.ds_add(ds, -1) }}
...