Hadoop數據分析流程介紹

Hadoop 數據挖掘 jQuery 電子商務 樂搏學院 2017-08-02

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

Hadoop數據分析流程介紹

需求分析

一般中型的網站(10W的PV以上),每天會產生1G以上Web日誌文件。大型或超大型的網站,可能每小時就會產生10G的數據量。

具體來說,比如某電子商務網站,在線團購業務。每日PV數100w,獨立IP數5w。用戶通常在工作日上午10:00-12:00和下午15:00-18:00訪問量最大。日間主要是通過PC端瀏覽器訪問,休息日及夜間通過移動設備訪問較多。網站搜索瀏量佔整個網站的80%,PC用戶不足1%的用戶會消費,移動用戶有5%會消費。

對於日誌的這種規模的數據,用HADOOP進行日誌分析,是最適合不過的了。

案例需求描述

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

數據來源

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

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

形如:

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"

數據處理流程

流程圖解析

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

Hadoop數據分析流程介紹

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

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

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

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

4) 數據導出:基於hadoop的sqoop數據導入導出工具

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

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

項目技術架構圖

Hadoop數據分析流程介紹

項目最終效果

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

效果如下所示:

Hadoop數據分析流程介紹
Hadoop數據分析流程介紹

關注“樂搏學院”跟徐老師一起走進大數據世界,零基礎入門很簡單!

相關推薦

推薦中...