離線數據分析流程介紹


3. 離線數據分析流程介紹

注:本環節主要感受數據分析系統的宏觀概念及處理流程,初步理解hadoop等框架在其中的應用環節,不用過於關注代碼細節

 

一個應用廣泛的數據分析系統:“web日志數據挖掘”

 

 

3.1 需求分析

3.1.1 案例名稱

“網站或APP點擊流日志數據挖掘系統”

 

3.1.2 案例需求描述

Web點擊流日志”包含着網站運營很重要的信息,通過日志分析,我們可以知道網站的訪問量,哪個網頁訪問人數最多,哪個網頁最有價值,廣告轉化率、訪客的來源信息,訪客的終端信息等。

 

3.1.3 數據來源

本案例的數據主要由用戶的點擊行為記錄

獲取方式:在頁面預埋一段js程序,為頁面上想要監聽的標簽綁定事件,只要用戶點擊或移動到標簽,即可觸發ajax請求到后台servlet程序,用log4j記錄下事件信息,從而在web服務器(nginxtomcat等)上形成不斷增長的日志文件。

形如:

58.215.204.118 - - [18/Sep/2013:06:51:35 +0000] "GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1" 304 0 "http://blog.fens.me/nodejs-socketio-chat/" "Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0"

 

 

 

3.2 數據處理流程

3.2.1 流程圖解析

本案例跟典型的BI系統極其類似,整體流程如下:

 

 

但是,由於本案例的前提處理海量數據,因而,流程中各環節所使用的技術則跟傳統BI完全不同,后續課程都會一一講解:

1) 數據采集:定制開發采集程序,或使用開源框架FLUME

2) 數據預處理:定制開發mapreduce程序運行於hadoop集群

3) 數據倉庫技術:基於hadoop之上的Hive

4) 數據導出:基於hadoopsqoop數據導入導出工具

5) 數據可視化:定制開發web程序或使用kettle等產品

6) 整個過程的流程調度:hadoop生態圈中的oozie工具或其他類似開源產品

 

3.2.2 項目技術架構圖

 

3.2.3 項目相關截圖(感性認識,欣賞即可)

a) Mapreudce程序運行

 

 

 

b) Hive中查詢數據

 

 

 

c) 將統計結果導入mysql

./sqoop export --connect jdbc:mysql://localhost:3306/weblogdb --username root --password root  --table t_display_xx  --export-dir /user/hive/warehouse/uv/dt=2014-08-03

 

 

 

 

 

3.3 項目最終效果

經過完整的數據處理流程后,會周期性輸出各類統計指標的報表,在生產實踐中,最終需要將這些報表數據以可視化的形式展現出來,本案例采用web程序來實現數據可視化

效果如下所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM