在SQL中,我们有分区和分组
select deptno, count(*) c from emp group by deptno;
DEPTNO C
------ -
10 3
20 5
30 6
select deptno, count(*) over (partition by deptno) c from emp;
DEPTNO C
------ -
10 3
10 3
10 3
20 5
20 5
20 5
20 5
20 5
30 6
30 6
30 6
30 6
30 6
30 6
如果我们需要在HIVE中练习同样的事情,那将是多种选择。 我们在Hive中是否也有相同的内容? 请建议
先谢谢。
答案 0 :(得分:1)
Hive支持窗口函数,请参阅Windowing and Analytics Functions。所以就像你发布的那样:
select deptno, count(*) over (partition by deptno) c from emp;
诀窍是你需要在最近具有窗口功能的Hive上。链接页面显示这些是在Hive 0.11中引入的。
至于第一个只是普通聚合的查询select deptno, count(*) c from emp group by deptno;
,我认为在第-1版支持...
答案 1 :(得分:0)
同样的问题..
我尝试了窗口和分析功能。
失败:ParseException行1:29缺少来自'(' near'('在子查询源中) 第1:30行无法识别“PARTITION'附近的输入' BY' '工资'在子查询源
中