Hadoop離線數據分析平臺實戰——360地域信息分析
項目進度
模塊名稱 | 完成情況 |
---|---|
用戶基本信息分析(MR)? | 完成 |
瀏覽器信息分析(MR) | 完成 |
地域信息分析(MR) | 未完成 |
外鏈信息分析(MR) | 未完成 |
用戶瀏覽深度分析(Hive) | 未完成 |
訂單分析(Hive) | 未完成 |
事件分析(Hive) | 未完成 |
地域信息分析規則
在地域信息分析模塊中,
我們只統計活躍用戶、總會話數以及跳出會話個數這三個指標的信息,
那么我看將代碼寫出之前的模式,一個分析指標寫一個mapreduce;
也可以將這三個指標的統計都放到一個mapreduce程序中去操作;
還可以將活躍用戶統計和總會話數統計放到以前的active_user和sessions這兩個job中,
單獨寫一個計算跳出會話個數的job來統計最后一個指標。
在這里我們采用介紹第二種方式,也就是講所有的指標寫到一個mapreduce程序中,方便安裝模塊進行后期維護。
地域維度信息(不考慮平臺platform和日期date),
我們需要統計三個層面的數據,
即:國家級別、省份級別、城市級別。也就是說需要分別統計這三個維度的活躍用戶、總會話以及跳出會話個數。
日期維度只按天計算數據,不進行按月和按周計算。
平臺維度計算一個all維度和一個具體的平臺維度。
需要原始數據:國家、省份、城市、uuid、serverTime、platform這六個維度的字段信息(或者加一個ip地址),
所以在當前只有pc端數據和后臺服務端數據的情況下,
只需要對pageview事件的數據進行統計計算就可以了。
在維度確定的情況下,活躍用戶統計就是統計uuid(用戶唯一標識符)的去重個數;
總會話個數就是統計u_sd(會話id)的去重個數;
跳出會話個數就是統計只訪問一個pv的會話總個數,而且pv的計算是統計訪問次數來進行判斷的,也就是說pv不去重。
也就是說最終只需要uuid和u_sd就可以進行判斷操作了。
統計的最終數據保存到表:stats_device_location表的active_users、sessions以及bounce_sessions三列上。
涉及到其他表有:dimension_platform、dimension_date以及dimension_location。
編碼步驟
- 編寫操作dimension_location表相關操作的類和方法。
- 編寫mapper類
- 編寫reducer類
- 編寫runner類
- 測試