从 Greenplum Query 迁移 Hive 日期和周函数
Posted
技术标签:
【中文标题】从 Greenplum Query 迁移 Hive 日期和周函数【英文标题】:Hive Date and Week Functions Migration From Greenplum Query 【发布时间】:2021-09-07 05:07:47 【问题描述】:您能否按照以下声明帮助我,我想从 Greenplum 迁移到 HiveSQL。请帮助我。
(date_trunc('week',idate) - INTERVAL '1 week')::DATE date_from
((date_trunc('week',idate) - INTERVAL '1 week')::DATE + '6 days'::INTERVAL)::DATE
date_trunc('week',idate)::DATE
注意:idate 是我必须解析像 2021-02-20 这样的参数
【问题讨论】:
【参考方案1】:如果你想要
-
找到一周的开始然后使用
select next_day(date_sub(current_date, 7), 'MON')
将日期加 1 周,然后使用 select current_date + interval 7 day
将日期转换为字符串,然后使用select to_date(current_date )
现在,从您的代码看来,您正在寻找一周的开始,然后从中扣除 1 周。
(date_trunc('week',idate) - INTERVAL '1 week')
这可以在 hive 中重写,如下所示。
next_day(date_sub(current_date, 7), 'MON') - interval 7 day
我以为星期一是你一周的开始。请在使用前验证 SQL。
【讨论】:
我已经迁移了,请验证 : (date_trunc('week',idate) - INTERVAL '1 week')::DATE -->> cast(trunc(next_day(date_sub(current_date, 7) , 'MON')) 作为日期)请帮助我 这个next_day(date_sub(current_date, 7), 'MON')
将给出日期时间。你不必再次施放它。你能分享你的sql和确切的错误吗?以上是关于从 Greenplum Query 迁移 Hive 日期和周函数的主要内容,如果未能解决你的问题,请参考以下文章