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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

2、reuce job任務(wù))2.5將過濾后的日志文件導(dǎo)入到數(shù)據(jù)庫中(hbase )2.6通過 mapreduce 程序或 hive 進(jìn)行統(tǒng)計(jì)分析( hive )2.7將統(tǒng)計(jì)分析后的結(jié)果導(dǎo)入到本地?cái)?shù)據(jù)庫中進(jìn)行永久儲(chǔ)存(mysql )2.8在前端進(jìn)行展示( springmvc+highcharts)二、項(xiàng)目架構(gòu)(畫圖).具體分為三個(gè)部分(如下圖所示):數(shù)據(jù)收集層hadoop、 hive 、 flume 、kafka 、shell數(shù)據(jù)分析層hive 、 mapreduce、 spark.數(shù)據(jù)展示層springmvc + highcharts三、技術(shù)選型、特點(diǎn)、為什么1. jssdk 捕獲前端頁面數(shù)據(jù)。

3、javascript 編寫頁面日志生成與發(fā)送工具 (原則:保持對(duì)業(yè)務(wù)代碼最小影響)特點(diǎn):采用原生的 javascript 編寫,以 js 文件嵌入到前端,頁面觸發(fā)業(yè)務(wù)所關(guān)注的事件(按照收集數(shù)據(jù)的不同分為不同的事件)時(shí)調(diào)用相關(guān)方法。2. java sdk 后臺(tái)服務(wù)日志生成與發(fā)送工具javasdk 代碼很簡單, 可以打成jar 包或者直接拷貝類到具體的項(xiàng)目中,正常邏輯處理到j(luò)avasdk 所關(guān)注的事件后,調(diào)用javasdk 提供的 api 即可。3.nginx web服務(wù)器,產(chǎn)生日志文件特點(diǎn): nginx是一個(gè)小巧而高效的linux下的web服務(wù)器軟件,相比較apache它不僅有穩(wěn)定性、豐富的功能

4、集、示例配置文件,更重要的是nginx是基于事件的,它的內(nèi)存使用很低,系統(tǒng)資源消耗小很多。3. shell 腳本上傳日志文件(數(shù)據(jù)量一般比較小的場景,不會(huì)立即進(jìn)行分析).分割日志,每天定時(shí)分割成昨天的日志文件。( vi split.sh)上傳到 hdfs。( vi put2hdfs.sh)flume上傳(數(shù)據(jù)量一般比較大的場景,需要實(shí)時(shí)處理。)5.hbase 數(shù)據(jù)庫數(shù)據(jù)解析以后, 我們把它存入hbase 表。因?yàn)椋翰煌氖录?最后上傳到hdfs里面每行數(shù)據(jù)的字段數(shù)量是不一樣的;而且 hbase 中,單表數(shù)據(jù)量相對(duì)比較大6. mysql 最終結(jié)果存儲(chǔ)mysql是關(guān)系型數(shù)據(jù)庫,結(jié)構(gòu)十分清晰,能夠

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論