Hive 窗口函数lead、lag
生活随笔
收集整理的這篇文章主要介紹了
Hive 窗口函数lead、lag
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hive的分析函數又叫窗口函數,在oracle中就有這樣的分析函數,主要用來做數據統計分析的。
Lag和Lead分析函數可以在同一次查詢中取出同一字段的前N行的數據(Lag)和后N行的數據(Lead)作為獨立的列。
這種操作可以代替表的自聯接,并且LAG和LEAD有更高的效率,其中over()表示當前查詢的結果集對象,括號里面的語句則表示對這個結果集進行處理。
函數介紹
LAG
LAG(col,n,DEFAULT) 用于統計窗口內往上第n行值
參數1為列名,參數2為往上第n行(可選,默認為1),參數3為默認值(當往上第n行為NULL時候,取默認值,如不指定,則為NULL)
LEAD
與LAG相反
LEAD(col,n,DEFAULT) 用于統計窗口內往下第n行值
參數1為列名,參數2為往下第n行(可選,默認為1),參數3為默認值(當往下第n行為NULL時候,取默認值,如不指定,則為NULL)
場景
問題
用戶Peter在瀏覽網頁,在某個時刻,Peter點進了某個頁面,過一段時間后,Peter又進入了另外一個頁面,如此反復,那怎么去統計Peter在某個特定網頁的停留時間呢,又或是怎么統計某個網頁用戶停留的總時間呢?
數據準備
現在用戶
總結
以上是生活随笔為你收集整理的Hive 窗口函数lead、lag的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 商城系统演示站 -多用户商城系统
- 下一篇: 用excel做线性规划