设为首页 收藏本站
查看: 995|回复: 0

[经验分享] Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2015-7-13 08:47:37 | 显示全部楼层 |阅读模式
  网站日志分析项目案例(一)项目介绍:当前页面
  网站日志分析项目案例(二)数据清洗:http://www.iyunv.com/edisonchou/p/4458219.html
  网站日志分析项目案例(三)统计分析:http://www.iyunv.com/edisonchou/p/4464349.html
一、项目背景与数据情况
1.1 项目来源
  本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖、回帖,如图1所示。
DSC0000.png
  图1 项目来源网站-技术学习论坛
  本次实践的目的就在于通过对该技术论坛的apache common日志进行分析,计算该论坛的一些关键指标,供运营者进行决策时参考。
  PS:开发该系统的目的是为了获取一些业务相关的指标,这些指标在第三方工具中无法获得的;
1.2 数据情况 
  该论坛数据有两部分:
  (1)历史数据约56GB,统计到2012-05-29。这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式。
  (2)自2013-05-30起,每天生成一个数据文件,约150MB左右。这也说明,从2013-05-30之后,日志文件不再是在一个文件里边。
  图2展示了该日志数据的记录格式,其中每行记录有5部分组成:访问者IP、访问时间、访问资源、访问状态(HTTP状态码)、本次访问流量。
DSC0001.png
  图2 日志记录数据格式
二、关键指标KPI
2.1 浏览量PV
DSC0002.jpg
  (1)定义:页面浏览量即为PV(Page View),是指所有用户浏览页面的总和,一个独立用户每打开一个页面就被记录1 次。
  (2)分析:网站总浏览量,可以考核用户对于网站的兴趣,就像收视率对于电视剧一样。但是对于网站运营者来说,更重要的是,每个栏目下的浏览量。
  计算公式:记录计数,从日志中获取访问次数,又可以细分为各个栏目下的访问次数。
2.2 注册用户数
DSC0003.jpg
  该论坛的用户注册页面为member.php,而当用户点击注册时请求的又是member.php?mod=register的url。
  计算公式:对访问member.php?mod=register的url,计数。
2.3 IP数
DSC0004.png
  (1)定义:一天之内,访问网站的不同独立 IP 个数加和。其中同一IP无论访问了几个页面,独立IP 数均为1。
  (2)分析:这是我们最熟悉的一个概念,无论同一个IP上有多少电脑,或者其他用户,从某种程度上来说,独立IP的多少,是衡量网站推广活动好坏最直接的数据。
  计算公式:对不同的访问者ip,计数
2.4 跳出率
DSC0005.png
  (1)定义:只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比,即只浏览了一个页面的访问次数 / 全部的访问次数汇总。
  (2)分析:跳出率是非常重要的访客黏性指标,它显示了访客对网站的兴趣程度:跳出率越低说明流量质量越好,访客对网站的内容越感兴趣,这些访客越可能是网站的有效用户、忠实用户。
  PS:该指标也可以衡量网络营销的效果,指出有多少访客被网络营销吸引到宣传产品页或网站上之后,又流失掉了,可以说就是煮熟的鸭子飞了。比如,网站在某媒体上打广告推广,分析从这个推广来源进入的访客指标,其跳出率可以反映出选择这个媒体是否合适,广告语的撰写是否优秀,以及网站入口页的设计是否用户体验良好。
  计算公式:①统计一天内只出现一条记录的ip,称为跳出数;②跳出数/PV;
2.5 板块热度排行榜
DSC0006.jpg
  (1)定义:版块的访问情况排行。
  (2)分析:巩固热点版块成绩,加强冷清版块建设。同时对学科建设也有影响。
  计算公式:按访问次数统计排序;
三、开发步骤
3.0 需要用到的技术
  (1)Linux Shell编程
  (2)HDFS、MapReduce
  (3)HBase、Hive、Sqoop框架
3.1 上传日志文件至HDFS
  把日志数据上传到HDFS中进行处理,可以分为以下几种情况:
  (1)如果是日志服务器数据较小、压力较小,可以直接使用shell命令把数据上传到HDFS中;
  (2)如果是日志服务器数据较大、压力较大,使用NFS在另一台服务器上上传数据;
  (3)如果日志服务器非常多、数据量大,使用flume进行数据处理;
3.2 数据清洗
  使用MapReduce对HDFS中的原始数据进行清洗,以便后续进行统计分析;
3.3 统计分析
  使用Hive对清洗后的数据进行统计分析;
3.4 分析结果导入MySQL
  使用Sqoop把Hive产生的统计结果导出到mysql中;
3.5 提供视图工具
  提供视图工具供用户使用,指标查询mysql、明细则查询Hbase;
DSC0007.png
四、表结构设计
4.1 MySQL表结构设计
DSC0008.png
  这里使用MySQL存储关键指标的统计分析结果。
4.2 HBase表结构设计
DSC0009.png
  这里使用HBase存储明细日志,能够利用ip、时间查询。
  后面,我们就开始具体的实战了,本篇作为介绍就到此为止!
  

  作者:周旭龙
  出处:http://www.iyunv.com/edisonchou/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85990-1-1.html 上篇帖子: 开始hadoop前的准备:ubuntu学习笔记-基本环境的搭建(ssh的安装,SecureCRT连接,vim的安装及使用、jdk的安装) 下篇帖子: hadoop下JNI调用c++
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表