从日期和时间计算小时数

时间:2015-10-11 07:23:16

标签: hive

我创建了如下表格,

创建表格样本(日期字符串,时间字符串,产品字符串);

记录:

2014-12-01,00:00:00,鸠
2014-12-01,00:23:45,yardely
2014-12-01,01:00:00,yardely

我的问题是:我想按小时计算产品组数。

注意:促销开始时间为2014-12-01,00:00:00,这将是第一个小时。

预期输出如下,

1H,2
2H,1

作为日期&时间加载字符串我无法提取小时。

请告诉我如何做到这一点。

提前致谢。

1 个答案:

答案 0 :(得分:0)

将日期和时间连接在一起,并使用Hive的内置HOUR()函数从时间戳中检索小时。

<强>查询

select HOUR(concat(date,' ', time)),
    count(*)
from staging_table
group by HOUR(concat(date,' ', time));

<强>输出

00,2
01,1

对于您的预期输出,请使用CASE语句将小时00转换为1,01到2等...