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在某個特定網頁的停留時間呢,又或是怎么統計某個網頁用戶停留的總時間呢?
資料準備
現在用戶
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/259191.html
標籤:其他
上一篇:情人節快樂 ! 親愛的豬豬
下一篇:Vue常用特性(一)
