大數(shù)據(jù)離線分析項目(Hadoop)_第1頁
大數(shù)據(jù)離線分析項目(Hadoop)_第2頁
大數(shù)據(jù)離線分析項目(Hadoop)_第3頁
大數(shù)據(jù)離線分析項目(Hadoop)_第4頁
大數(shù)據(jù)離線分析項目(Hadoop)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、 項目總體需求、具體設計1、 總體需求:捕獲用戶每天的行為數(shù)據(jù),生成業(yè)務日志文件,根據(jù)日志文件清洗、分析、提取出需要的價值信息(pv:頁面瀏覽量 uv:獨立訪客數(shù) 獨立IP 會話時長等),對網(wǎng)站的良好運營提供有價值的指標。2、 具體設計2.1捕獲(JsSDK)用戶行為數(shù)據(jù)(launch事件、pageView事件、event事件、chargerequet事件)2.2將捕獲的數(shù)據(jù)發(fā)送給web服務器,生成日志文件(Nginx)2.3將日志文件上傳至文件存儲系統(tǒng)中(Shell腳本、Flume)2.4在文件存儲系統(tǒng)中對日志文件進行清洗,過濾掉臟數(shù)據(jù)和不需要的字段(MapReuce job任務)2.5

2、將過濾后的日志文件導入到數(shù)據(jù)庫中(HBase)2.6通過MapReduce程序或Hive進行統(tǒng)計分析(Hive)2.7將統(tǒng)計分析后的結果導入到本地數(shù)據(jù)庫中進行永久儲存(Mysql)2.8在前端進行展示(SpringMVC+Highcharts)二、 項目架構(畫圖)具體分為三個部分(如下圖所示):數(shù)據(jù)收集層 hadoop、hive、flume、kafka、shell數(shù)據(jù)分析層 hive、MapReduce、spark數(shù)據(jù)展示層 springmvc + highcharts三、 技術選型、特點、為什么1. JsSDK捕獲前端頁面數(shù)據(jù)。Javascript 編寫頁面日志生成與發(fā)送工具(原則: 保持

3、對業(yè)務代碼最小影響)特點:采用原生的JavaScript編寫,以js文件嵌入到前端,頁面觸發(fā)業(yè)務所關注的事件(按照收集數(shù)據(jù)的不同分為不同的事件)時調用相關方法。2. Java sdk 后臺服務日志生成與發(fā)送工具JavaSDK代碼很簡單,可以打成jar包或者直接拷貝類到具體的項目中,正常邏輯處理到JavaSDK所關注的事件后,調用JavaSDK提供的api即可。3.Nginx web服務器,產生日志文件 特點:Nginx是一個小巧而高效的Linux下的web服務器軟件,相比較Apache它不僅有穩(wěn)定性、豐富的功能集、示例配置文件,更重要的是Nginx是基于事件的,它的內存使用很低,系統(tǒng)資源消耗小

4、很多。3. shell腳本上傳日志文件(數(shù)據(jù)量一般比較小的場景,不會立即進行分析)分割日志,每天定時分割成昨天的日志文件。(vi split.sh)上傳到HDFS。(vi put2hdfs.sh)flume上傳(數(shù)據(jù)量一般比較大的場景,需要實時處理。)5. HBase數(shù)據(jù)庫 數(shù)據(jù)解析以后,我們把它存入HBase表。因為:不同的事件,最后上傳到HDFS里面每行數(shù)據(jù)的字段數(shù)量是不一樣的;而且HBase中,單表數(shù)據(jù)量相對比較大6.MySql 最終結果存儲Mysql是關系型數(shù)據(jù)庫,結構十分清晰,能夠與JavaWeb中的SpringMVC進行很好的對接;而且SQL語句是結構化的查詢語言,方便運營頁面查詢

5、數(shù)據(jù)7.SpringMVC+Highcharts 進行報表顯示四、 具體實現(xiàn)需求(分析了哪些功能pv、uv)主要實現(xiàn)需求:Pv:頁面的瀏覽次數(shù),衡量網(wǎng)站用戶訪問的網(wǎng)頁數(shù)量;用戶每打開一個頁面就記錄一次,多次打開同一個頁面則瀏覽量累計。描述用戶訪問網(wǎng)站信息,應用于基本的各個不同計算任務Uv:獨立訪客數(shù)1天內訪問某站點的人數(shù)(以cookie為依據(jù))1天內同一訪客的多次訪問只計為1個訪客S_time:會話時長詳細需求:五、 項目中遇到了哪些問題,怎么解決1、日志格式有點混亂,以至于給后面的數(shù)據(jù)清洗帶來困擾辦法:最后調整數(shù)據(jù)格式,并重新定義了分隔符2、對日志文件進行分析時,建立Hive外部表與Hbase表的鏈接字段搞錯,以至于HBase與Hive整合不成功辦法: 查看數(shù)據(jù)字典,查找字段,并將hive外部表的字段名和HBase表的列名一樣。六、 項目總結通過本次項目搭建,我對大數(shù)據(jù)的實際應用,以及客戶需求的具體實現(xiàn)有了更為清晰的認識,同時也對之前所學到的知識進行了溫故與整合。同時看到了自己的很多不足,究其原因,是對Hadoop以及諸多協(xié)作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論