hive中任意相邻时间段数据获取
生活随笔
收集整理的這篇文章主要介紹了
hive中任意相邻时间段数据获取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過sql語句獲取相鄰時段數據不比通過其它編程語言,因為sql里面沒有for循環,故在實現時需要增加一份副表數據,這里對該方法做一個記錄。
背景:獲取2017年全年平臺用戶進出貴州省的次數(分為進港次數和出港次數)。
處理方式:
1.根據定位數據獲取當年在貴州出現過的用戶
2.獲取這些用戶的全部定位數據,并根據定位時間進行排序
如上,從左到右以此分別為用戶id,定位時間,定位省份id,排序編號,是否定位在貴州
3.這里考慮根據if_loc這個字段來判斷用戶是入港還是出港,但是僅僅依靠這張a表還無法完全實現,因此考慮增加一張b表,b表的數據來自于a表,但兩張表對rn值對應的數據會有一些差別
其中 b.rn_b = a.rn - 1
4.兩張表進行關聯,獲取進港、出港標簽port_flag
當port_flag = 1 時為入港,port_flag = -1 時為出港,port_flag = 0時為港內持續定位。
入港和出港涉及到兩個時段的定位數據,通過這種方式,自然也可以獲取到兩個時段內的其它數據。
轉載于:https://blog.51cto.com/abezoo/2080183
總結
以上是生活随笔為你收集整理的hive中任意相邻时间段数据获取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: USB OTG 的进一步理解
- 下一篇: kaggle项目:基于随机森林模型的心脏