1.用户连续3天登录
create table tmp_user_login (
userid int,
time date
) ;
insert into tmp_user_login values (1,‘2020-04-18’),(1,‘2020-04-19’),(1,‘2020-04-20’),(1,‘2020-04-21’),(2,‘2020-04-16’),(2,‘2020-04-17’),(2,‘2020-04-18’),(3,‘2020-04-18’),(4,‘2020-04-18’),(5,‘2020-04-18’),(6,‘2020-04-18’),(7,‘2020-04-18’);
select user_id, count(1) cnt
from (
select
t1.user_id
, t1.login_date
, row_number() over(partition by t1.user_id order by t1.login_date asc) rn
from (select user_id,login_date from tmp_user_login group by user_id,login_date) t1
) t
group by t. user_id, date_sub(login_date, t.rn)
having count(1) >= 3;
2.某一个周期内用户连续4次5秒内下单。
create table tmp_user_order
本文通过实例演示了如何使用HiveSQL处理用户连续3天登录和周期内5秒内连续下单的问题。针对长期连续性问题,利用窗口函数和分组计数;短期连续性问题建议采用流处理框架如Flink解决。
订阅专栏 解锁全文
1627

被折叠的 条评论
为什么被折叠?



