大數據教程(6.2)hadoop在實際項目中的架構分析

        前一章節,博主介紹了大數據中hadoop的生態圈以及大數據目前的就業前景分析,本節博主將繼續爲你們分享一個典型的大數據分佈式應用場景。node

        一個應用普遍的數據分析系統:「web日誌數據挖掘」:mysql

1.案例名稱jquery

           網站或APP點擊流日誌數據挖掘系統」;nginx

           通常中型的網站(10W的PV以上),天天會產生1G以上Web日誌文件。大型或超大型的網站,可能每小時就會產生10G的數據量。
具體來講,好比某電子商務網站,在線團購業務。每日PV數100w,獨立IP數5w。用戶一般在工做日上午10:00-12:00和下午15:00-18:00訪問量最大。日間主要是經過PC端瀏覽器訪問,休息日及夜間經過移動設備訪問較多。網站搜索瀏量佔整個網站的80%,PC用戶不足1%的用戶會消費,移動用戶有5%會消費。web

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

2.需求描述sql

          「Web點擊流日誌」包含着網站運營很重要的信息,經過日誌分析,咱們能夠知道網站的訪問量,哪一個網頁訪問人數最多,哪一個網頁最有價值,廣告轉化率、訪客的來源信息,訪客的終端信息等。瀏覽器

3.數據來源      tomcat

          本案例的數據主要由用戶的點擊行爲記錄服務器

          獲取方式:在頁面預埋一段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"

4.數據處理流程

          本案例跟典型的BI系統極其相似,總體流程以下:

     可是,因爲本案例的前提是處理海量數據,於是,流程中各環節所使用的技術則跟傳統BI徹底不一樣,後續章節都會一一講解:

  1. 數據採集:定製開發採集程序,或使用開源框架FLUME
  2. 數據預處理:定製開發mapreduce程序運行於hadoop集羣
  3. 數據倉庫技術:基於hadoop之上的Hive
  4. 數據導出:基於hadoop的sqoop數據導入導出工具
  5. 數據可視化:定製開發web程序或使用kettle等產品
  6. 整個過程的流程調度:hadoop生態圈中的oozie工具或其餘相似開源產品

5.項目技術架構圖

6.項目相關截圖

    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

7.項目最終效果

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

效果以下所示:

8.本案相似推薦架構圖

相關文章
相關標籤/搜索