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

下載本文檔

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

文檔簡介

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

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

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

4、集、示例配置文件,更重要的是nginx是基于事件的,它的內(nèi)存使用很低,系統(tǒng)資源消耗小很多。3. shell 腳本上傳日志文件(數(shù)據(jù)量一般比較小的場景,不會立即進(jìn)行分析).分割日志,每天定時分割成昨天的日志文件。( 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 最終結(jié)果存儲mysql是關(guān)系型數(shù)據(jù)庫,結(jié)構(gòu)十分清晰,能夠

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

溫馨提示

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

評論

0/150

提交評論