Hive 计算配置单元中每个组中的条目数

Hive 计算配置单元中每个组中的条目数,hive,bigdata,Hive,Bigdata,My DB如下所示,表示客户在某个商店进行的购买: Customer ID | Store ID | Date & Time 1 | 1884 | 2016-10-30 13:00:00 5 | 2001 | 2016-10-30 13:00:00 数据集非常大。时间间隔为1小时 我需要数一数一天中每小时有多少客户购买。返回的数据应如下所示: Store ID | Unique Date & Time | Number of purchases 1884 | 2016-10-

My DB如下所示,表示客户在某个商店进行的购买:

Customer ID | Store ID | Date & Time
1 | 1884 | 2016-10-30 13:00:00
5 | 2001 | 2016-10-30 13:00:00
数据集非常大。时间间隔为1小时

我需要数一数一天中每小时有多少客户购买。返回的数据应如下所示:

Store ID | Unique Date & Time | Number of purchases 
1884 | 2016-10-30 13:00:00 | 8
1884 | 2016-10-30 14:00:00 | 12

我没有主意了,如果能得到任何帮助,我将不胜感激。

选择id并按小时和日期分组

SELECT [ Store ID ], count(*)
FROM table1
GROUP BY DATEPART(day, [ Date & Time]), DATEPART(hour, [ Date & Time]);

我假设这个查询每小时运行一次,生成的数据被附加到现有的数据集中

下面的查询将为您提供客户在[日期和时间]在特定商店购买的数量

select [Date and Time],[Store ID],count(customer id) 
from [tablename] group by [Date and Time],[Store ID] 
order by [Date and Time] DESC
如果您想获得每小时所有购物的完整计数,而不考虑商店id,则可以尝试以下方法:

select [Date and Time],count(customer id) 
from [tablename]  group by [Date and Time] 
order by [Date and Time] DESC

order by desc用于获取顶部的最新时间戳结果

这可能会遇到分钟和秒的问题,因此将值剥离到天和小时以避免问题。仍然没有运气,此代码返回所有存储的计数。换句话说,当存储id更改时,它不会重置。@promashk,您可以在上面提到的第一个查询末尾添加where子句,该子句将时间限制为前一个小时。现在这个查询应该每天每小时运行一次,其输出应该插入到一个表中,比如x。现在,当您前几天从x查询数据时,将其限制为仅限于前几天的数据[