我为什么学习hive窗口分析函数

1. 窗口函数

  LEAD(column_name, n, default_value),用于统计窗口内往下第n行的值,

  LAG(column_name, n, default_value),用于统计窗口内往上第n行的值。

  FIRST_VALUE(column_name),分组窗口排序后,截止到当前行的第一个值;

  LAST_VALUE(column_name),分组窗口排序后,截止当前航的最后一个值;

2. OVER语句

  SUM/COUNT/MIN/MAX/AVG(column_name) OVER(PARTITION BY c1, c2 ORDER BY c3, c4  ROWS_CLUSTER),

  其中,ROWS_CLUSTER为:

    a. ROWS CURRENT ROW

    b. ROWS BETWEEN n PRECEDING AND n FOLLOWING

    c. ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNED FOLLOWING

  UNBOUNDED和n可以互相替换。

3. 分析函数

  ROW_NUMBER() OVER(PARTITION BY c1, c2 ORDER BY c3, c4),以及另外一些,此处不再赘述。

4. 示例:

  略。

posted @ 2016-03-01 17:51  少妇眼中的蛮牛哥  阅读(216)  评论(0)    收藏  举报