美文网首页
Hive分析函数LAG和LEAD详解

Hive分析函数LAG和LEAD详解

作者: 星辰fml | 来源:发表于2021-09-29 15:57 被阅读0次

    介绍

    Hive的分析函数又叫窗口函数, 在oracle中就有这样的分析函数,主要用来做数据统计分析的。
    Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据【LAG】和后N行的数据【LEAD】作为独立的列。

    LAG

    LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值
    参数1为列名,参数2为往上第n行(可选,默认为1),参数3为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)。

    LEAD

    LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值
    参数1为列名,参数2为往下第n行(可选,默认为1),参数3为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)。

    用法

    select *,lag(field_name, 1, 'none')over()as lag_col from tabl;
    
    • 其中over()里可以加入gorup by 和order by来进一步对数据进行处理。
    • lag也可以换成lead,刚好取值效果刚好相反。


      逻辑图

    相关文章

      网友评论

          本文标题:Hive分析函数LAG和LEAD详解

          本文链接:https://www.haomeiwen.com/subject/khujnltx.html