hive中的排序函数

详细的文档:https://blog.csdn.net/jthink_/article/details/38903775

order by 只有一个reduce 实现全局排序

sort by 只有一个reduce时功能跟order by一样实现全局排序,reduce有多个时实现每个reduce局部排序

distribute by和sort by结合使用实现分组局部排序

【distribute by按照指定的字段对数据进行划分输出到不同的reduce中;
    常和sort by一起使用,并且distribute by必须在sort by前面;】

cluster by的功能就是distribute by和sort by相结合

【相当于distribute by+sort by,只能默认升序,不能使用倒序】

 

连续7天登陆的用户数

select count(distinct a.uid)
from
(
select t1.uid,datediff(t1.dt,lag(t1.dt,6) over(group by t1.uid order by t1.dt)) as t,t1.login_status
from (
select uid,dt,login_status from t0 group by uid where login_status=1) t1 ) t2

where t2.t=6

posted @ 2019-08-29 10:21  hulifang  阅读(868)  评论(0编辑  收藏  举报