HIVE 中的软编码日期

Soft coding dates in HIVE

我很难在 HIVE 中对日期进行软编码。 我想统计每周出现在我的数据中的唯一 ID。

例如

SELECT    
Count(distinct ID)    
From Database.Table    
Where filter1 = "Thing1" And filter2 = "Thing2"    
AND TO_DATE(timestamp_utc) between TO_DATE("2016-04-10") AND TO_DATE("2016-04-16")

但我希望这不仅仅是一周,而是今年到目前为止的每一周,而不必 运行 手动输入不同日期 20 次。

有什么建议吗?谢谢。

筛选年份数据,获取周数,按id分组,周数

select count(distinct id) as id_count,weekofyear(TO_DATE(timestamp_utc)) as weeks
from Table
where filter1 = "Thing1" and filter2 = "Thing2" and TO_DATE(timestamp_utc) > '2016-01-01'
group by id,weeks