hiveql将每小时的数据汇总为每天的数据

xoefb8l8  于 2021-04-09  发布在  Hive
关注(0)|答案(1)|浏览(519)

我是一个非常新的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 "格式的值被汇总(总和),从每小时到每天,所以我最终会有一个新的输出,像下面。

datetimetimezone  ID  value
20200713          001 10
20200714          002 21

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

wmtdaxz3

wmtdaxz31#

你似乎想要以下的聚合查询。

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

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

相关问题