Hadoop離線數據分析平臺實戰——360地域信息分析

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。

編碼步驟

  1. 編寫操作dimension_location表相關操作的類和方法。
  2. 編寫mapper類
  3. 編寫reducer類
  4. 編寫runner類
  5. 測試
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容