Hive Sql的窗口函数和普通聚合函数有什么区别?

提问者:帅平 问题分类:面试刷题

Hive Sql的窗口函数和普通聚合函数有什么区别?

1 个回答
Rae
Rae 管理员

聚合函数是将多条记录聚合为一条;窗口函数是每条记录都会执行,有几条记录执行完还是几条。

窗口函数兼具GROUP BY 子句的分组功能以及ORDER BY 子句的排序功能。但是,PARTITION BY 子句并不具备 GROUP BY 子句的汇总功能。

举例:若原表中有id一样的10行数据,使用GROUP BY,返回的结果是将多条记录聚合成一条;而使用 rank() 等窗口函数并不会减少原表中 记录的行数,结果中仍然包含 10 行数据。

窗口函数兼具分组和排序两种功能。

发布于:2个月前 (10-20)
我来回答