Hiveql-将每小时数据汇总到每天

时间:2020-07-20 16:40:35

标签: sql date hive sum hiveql

我对Hiveql还是很陌生,希望对一些非常简单的问题有所帮助。

我有一个小时数据表,下面提供了一个简化的示例:

datetimetimezone  ID  value
202007130000+0100 001 2
202007130100+0100 001 3
202007130200+0100 001 4
202007130300+0100 001 1
202007140000+0100 002 3
202007140100+0100 002 7
202007140200+0100 002 9
202007140300+0100 002 2

目标是创建一个输出,其中我将datetimetimezone简化为“ yyyymmdd”格式,其值从每小时到每天汇总(SUM)。所以我最终将得到如下所示的新输出:

datetimetimezone  ID  value
20200713          001 10
20200714          002 21

我知道我可以使用substr(datetimetimezone,0,8)获得所需的日期格式,但是我不确定如何将ID值从每小时汇总到每天,如上面的第二张表所示。欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

您似乎想要以下聚合查询:

select
    substr(datetimetimezone, 1, 8) yyyymm,
    id,
    sum(value) value
from mytable
group by substr(datetimetimezone, 1, 8), id

请注意,substr()始于1,而不是0

相关问题