某公司網(wǎng)站每日訪問量達(dá)到10億級別的訪問量,每次訪問記錄一條數(shù)據(jù),數(shù)據(jù)包含如下字段:用戶ID,訪問時間(毫秒級),訪問頁面。
要求使用hive求出所有在5分鐘內(nèi)訪問次數(shù)達(dá)到100次的用戶(求出用戶ID即可)
思路:利用窗口函數(shù)Lag 詳細(xì)思路:
1.選出當(dāng)天訪問次數(shù)達(dá)到100次的用戶(即當(dāng)天有100及以上條數(shù)據(jù)的用戶):根據(jù)用戶ID分組,count
2.在每個 用戶ID小組內(nèi)(步驟1已進(jìn)行分組)按 訪問時間進(jìn)行升序排序 3.計算time-lag(time,100),若time-lag(time,100)<=5601000(毫秒),即為滿足條件的用戶,篩選出。