在Hive中按周计数

时间:2016-06-27 18:50:53

标签: date hadoop count hive

我试图每周制作一套完全刷新的数字,从蜂巢中的桌子上拉出来。现在我使用这种方法:

SELECT
COUNT(DISTINCT case when timestamp between TO_DATE("2016-01-28") and TO_DATE("2016-01-30") then userid end) as week_1,
COUNT(DISTINCT case when timestamp between TO_DATE("2016-01-28") and TO_DATE("2016-02-06") then userid end) as week_2
FROM Data;

我试图获得更多的内容:

选择 月(时间戳),周(时间戳),COUNT(DISTINCT用户ID) 来自数据 按月分组,每周

但是我的周从周日到周六。是否有一种更聪明的方法可以在HIVE中起作用?

1 个答案:

答案 0 :(得分:1)

我发现您需要按周分组数据。你可以这样做:

SELECT weekofyear(to_date(timestamp)), COUNT (DISTINCT userid) FROM Data Group By weekofyear(to_date(timestamp))