dt = '{{ ds }}'
不起作用,因为Jinja(气流中使用的模板引擎)无法处理整个Dag定义文件。
对于每个
Operator字段,Jinja将处理的字段都是 *** 作员本身定义的一部分。
在这种情况下,如果您进行如下扩展
params,则可以使字段(实际上称为
parameters,请确保更改此字段)为模板
PostgresOperator:
class MyPostgresOperator(PostgresOperator): template_fields = ('sql','parameters')
现在您应该可以执行以下 *** 作:
s3_to_redshift = MyPostgresOperator( task_id='s3_to_redshift', postgres_conn_id='redshift', sql='s3_to_redshift.sql', parameters={'file': '{{ ds }}'}, dag=dag)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)