Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
Hadoop學(xué)習(xí)筆記—20.網(wǎng)站日志分析項(xiàng)目案例(一)項(xiàng)目介紹
網(wǎng)站日志分析項(xiàng)目案例(一)項(xiàng)目介紹:當(dāng)前頁面
網(wǎng)站日志分析項(xiàng)目案例(二)數(shù)據(jù)清洗:http://www.cnblogs.com/edisonchou/p/4458219.html
網(wǎng)站日志分析項(xiàng)目案例(三)統(tǒng)計(jì)分析:http://www.cnblogs.com/edisonchou/p/4464349.html
一、項(xiàng)目背景與數(shù)據(jù)情況
1.1 項(xiàng)目來源
本次要實(shí)踐的數(shù)據(jù)日志來源于國內(nèi)某技術(shù)學(xué)習(xí)論壇,該論壇由某培訓(xùn)機(jī)構(gòu)主辦,匯聚了眾多技術(shù)學(xué)習(xí)者,每天都有人發(fā)帖、回帖,如圖1所示。
圖1 項(xiàng)目來源網(wǎng)站-技術(shù)學(xué)習(xí)論壇
本次實(shí)踐的目的就在于通過對該技術(shù)論壇的apache common日志進(jìn)行分析,計(jì)算該論壇的一些關(guān)鍵指標(biāo),供運(yùn)營者進(jìn)行決策時(shí)參考。
PS:開發(fā)該系統(tǒng)的目的是為了獲取一些業(yè)務(wù)相關(guān)的指標(biāo),這些指標(biāo)在第三方工具中無法獲得的;
1.2 數(shù)據(jù)情況
該論壇數(shù)據(jù)有兩部分:
(1)歷史數(shù)據(jù)約56GB,統(tǒng)計(jì)到2012-05-29。這也說明,在2012-05-29之前,日志文件都在一個(gè)文件里邊,采用了追加寫入的方式。
(2)自2013-05-30起,每天生成一個(gè)數(shù)據(jù)文件,約150MB左右。這也說明,從2013-05-30之后,日志文件不再是在一個(gè)文件里邊。
圖2展示了該日志數(shù)據(jù)的記錄格式,其中每行記錄有5部分組成:訪問者IP、訪問時(shí)間、訪問資源、訪問狀態(tài)(HTTP狀態(tài)碼)、本次訪問流量。
圖2 日志記錄數(shù)據(jù)格式
二、關(guān)鍵指標(biāo)KPI
2.1 瀏覽量PV
(1)定義:頁面瀏覽量即為PV(Page View),是指所有用戶瀏覽頁面的總和,一個(gè)獨(dú)立用戶每打開一個(gè)頁面就被記錄1 次。
(2)分析:網(wǎng)站總瀏覽量,可以考核用戶對于網(wǎng)站的興趣,就像收視率對于電視劇一樣。但是對于網(wǎng)站運(yùn)營者來說,更重要的是,每個(gè)欄目下的瀏覽量。
計(jì)算公式:記錄計(jì)數(shù),從日志中獲取訪問次數(shù),又可以細(xì)分為各個(gè)欄目下的訪問次數(shù)。
2.2 注冊用戶數(shù)
該論壇的用戶注冊頁面為member.php,而當(dāng)用戶點(diǎn)擊注冊時(shí)請求的又是member.php?mod=register的url。
計(jì)算公式:對訪問member.php?mod=register的url,計(jì)數(shù)。
2.3 IP數(shù)
(1)定義:一天之內(nèi),訪問網(wǎng)站的不同獨(dú)立 IP 個(gè)數(shù)加和。其中同一IP無論訪問了幾個(gè)頁面,獨(dú)立IP 數(shù)均為1。
(2)分析:這是我們最熟悉的一個(gè)概念,無論同一個(gè)IP上有多少電腦,或者其他用戶,從某種程度上來說,獨(dú)立IP的多少,是衡量網(wǎng)站推廣活動(dòng)好壞最直接的數(shù)據(jù)。
計(jì)算公式:對不同的訪問者ip,計(jì)數(shù)
2.4 跳出率
(1)定義:只瀏覽了一個(gè)頁面便離開了網(wǎng)站的訪問次數(shù)占總的訪問次數(shù)的百分比,即只瀏覽了一個(gè)頁面的訪問次數(shù) / 全部的訪問次數(shù)匯總。
(2)分析:跳出率是非常重要的訪客黏性指標(biāo),它顯示了訪客對網(wǎng)站的興趣程度:跳出率越低說明流量質(zhì)量越好,訪客對網(wǎng)站的內(nèi)容越感興趣,這些訪客越可能是網(wǎng)站的有效用戶、忠實(shí)用戶。
PS:該指標(biāo)也可以衡量網(wǎng)絡(luò)營銷的效果,指出有多少訪客被網(wǎng)絡(luò)營銷吸引到宣傳產(chǎn)品頁或網(wǎng)站上之后,又流失掉了, 可以說就是煮熟的鴨子飛了。比如,網(wǎng)站在某媒體上打廣告推廣,分析從這個(gè)推廣來源進(jìn)入的訪客指標(biāo),其跳出率可以反映出選擇這個(gè)媒體是否合適,廣告語的撰寫 是否優(yōu)秀,以及網(wǎng)站入口頁的設(shè)計(jì)是否用戶體驗(yàn)良好。
計(jì)算公式:①統(tǒng)計(jì)一天內(nèi)只出現(xiàn)一條記錄的ip,稱為跳出數(shù);②跳出數(shù)/PV;
2.5 板塊熱度排行榜
(1)定義:版塊的訪問情況排行。
(2)分析:鞏固熱點(diǎn)版塊成績,加強(qiáng)冷清版塊建設(shè)。同時(shí)對學(xué)科建設(shè)也有影響。
計(jì)算公式:按訪問次數(shù)統(tǒng)計(jì)排序;
三、開發(fā)步驟
3.0 需要用到的技術(shù)
(1)Linux Shell編程
(2)HDFS、MapReduce
(3)HBase、Hive、Sqoop框架
3.1 上傳日志文件至HDFS
把日志數(shù)據(jù)上傳到HDFS中進(jìn)行處理,可以分為以下幾種情況:
(1)如果是日志服務(wù)器數(shù)據(jù)較小、壓力較小,可以直接使用shell命令把數(shù)據(jù)上傳到HDFS中;
(2)如果是日志服務(wù)器數(shù)據(jù)較大、壓力較大,使用NFS在另一臺服務(wù)器上上傳數(shù)據(jù);
(3)如果日志服務(wù)器非常多、數(shù)據(jù)量大,使用flume進(jìn)行數(shù)據(jù)處理;
3.2 數(shù)據(jù)清洗
使用MapReduce對HDFS中的原始數(shù)據(jù)進(jìn)行清洗,以便后續(xù)進(jìn)行統(tǒng)計(jì)分析;
3.3 統(tǒng)計(jì)分析
使用Hive對清洗后的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析;
3.4 分析結(jié)果導(dǎo)入MySQL
使用Sqoop把Hive產(chǎn)生的統(tǒng)計(jì)結(jié)果導(dǎo)出到mysql中;
3.5?提供視圖工具
提供視圖工具供用戶使用,指標(biāo)查詢mysql、明細(xì)則查詢Hbase;
四、表結(jié)構(gòu)設(shè)計(jì)
4.1 MySQL表結(jié)構(gòu)設(shè)計(jì)
這里使用MySQL存儲關(guān)鍵指標(biāo)的統(tǒng)計(jì)分析結(jié)果。
4.2 HBase表結(jié)構(gòu)設(shè)計(jì)
這里使用HBase存儲明細(xì)日志,能夠利用ip、時(shí)間查詢。
后面,我們就開始具體的實(shí)戰(zhàn)了,本篇作為介紹就到此為止!
?
作者:周旭龍
出處:http://www.cnblogs.com/edisonchou/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GlusterFS下如何修复裂脑文件?
- 下一篇: 在线白板,基于socket.io的多人在