我想写一本书 HiveQL
(甚至 ANSI SQL
)可以回答以下问题的查询:
我有一个带有事件(事务)的数据库,每个事件都用 user_id
和一个 trans_time
(事务时间)。一 user_id
可以有无限的事件,甚至可以有多个相同的事件 trans_time
.
如果我建立一个活动时间窗口(即10秒),有多少个窗口在该窗口中有多少个事件?我想结果会是这样的(显然没有文字,只有数字)。。。
100个窗口只有一个事件
50个窗口有2个事件
.
.
一个有30个事件的窗口
为了描述第一个结果…数据集中有100个示例,在10秒的时间窗口内只有1个事件发生。
有没有办法从相同的数据中提取另一个指标,即50个用户id只有一个事件
25个用户ID有2个事件
.
.
1个用户id有30个事件
为了描述第一个结果…有50个用户ID在10秒内只有一个事件。
我希望这不是太模糊。一如既往,谢谢你!!
1条答案
按热度按时间cigdeys31#
如果您的窗口是静态的,例如:
窗口1-12:00:00-12:00:09
窗口2-12:00:10-12:00:19等。
您可以这样做:
注意事务处理时间“舍入”中的“10”。你可以把它改成你需要的任何大小的窗口。