【发布时间】:2021-07-09 08:53:17
【问题描述】:
我的目标是根据气流宏变量 {{ds}} 返回上个月的第一天并使用它,例如在 HiveOperator 中。
例如对于 ds = 2020-05-09,我预计返回:2020-04-01
我找到并尝试过的解决方案是:
SET hivevar:LAST_MONTH='{{ (ds.replace(day=1) - macros.timedelta(days=1)).replace(day=1) }}';
SET hivevar:LAST_MONTH='{{ ds + macros.dateutil.relativedelta.relativedelta(months=-1, day=1) }}'
但两者都导致错误:
Error rendering template: replace() takes no keyword arguments
Error rendering template: must be str, not relativedelta
并且在渲染时没有显示任何日期。
我做错了什么?
【问题讨论】:
-
你能分享一下预期输出的例子吗?你的意思是 2020-05-09 你想得到 2020-05-01 吗?
-
2020-05-09 我预计会收到:2020-04-01