Airflow 气流:如何将模板/宏传递到配置单元脚本?
我需要参数化要从Airflow调用的配置单元脚本2次:Airflow 气流:如何将模板/宏传递到配置单元脚本?,airflow,Airflow,我需要参数化要从Airflow调用的配置单元脚本2次: 当前日期为{ds} 前一个日期{昨天{ds}或{{macros.ds_add(ds,-1)} 我试过: my_task = HiveOperator( ..., params = { 'date': "{{ ds }}" } 在my hive.hql中: SELECT {{ params.date }} 当前可执行代码为: SELECT {{ ds }} 它是my param的文字替换,模板未展
my_task = HiveOperator( ...,
params = { 'date': "{{ ds }}" }
在my hive.hql中:
SELECT {{ params.date }}
当前可执行代码为:
SELECT {{ ds }}
它是my param的文字替换,模板未展开。
我需要:
SELECT '2020-11-11'
如何修复它?由于
hql
参数在中,您可以直接在.hql
文件中使用{{ds}
因此,您的操作员将:
my_task = HiveOperator( hql='query.hql', ...)
而query.hql
将是:
SELECT *
FROM table
WHERE date < {{ ds }}
选择*
从桌子上
其中日期<{ds}
您也可以直接在运算符中写入查询,如下所示:
my_task = HiveOperator( hql='SELECT * FROM table WHERE date < {{ ds }} ', ...)
my_task=HiveOperator(hql='SELECT*FROM date<{{ds}}',…)