目录
3.2.1 Function(arg1,..., argn)
3.2.2 OVER [PARTITION BY <...>]
一、前言
在讲Flink的时候,我们聊到了窗口函数的使用,了解了窗口函数的作用,本篇来详细聊聊hive中窗口函数的使用。
二、hive 窗口函数概述
窗口函数(Window functions)也叫做开窗函数、OLAP函数,其最大特点是:输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。如果函数具有OVER子句,则它是窗口函数。
窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行,最终输出一行,窗口函数聚合后还可以访问当中的各个行,并且可以将这些行中的某些属性添加到结果集中。
结合下图,可以对比理解下普通聚合函数与窗口函数的作用;
我们不妨通过两个sql来直观感受下普通聚合函数与窗口函数的差异所在;