900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 大数据离线web网站日志分析

大数据离线web网站日志分析

时间:2022-05-12 06:11:25

相关推荐

大数据离线web网站日志分析

1、背景

1.1黑马论坛日志,数据分为两部分组成,原来是一个大文件,是56GB;以后每天生成一个文件,大约是150-200MB之间;

1.2日志格式是apachecommon日志格式;

1.3分析一些核心指标,供运营决策者使用;

1.4开发该系统的目的是分了获取一些业务相关的指标,这些指标在第三方工具中无法获得的;

2、开发大致流程:

2.1把日志数据上传到HDFS中进行处理

如果是日志服务器数据较小、压力较小,可以直接使用shell命令把数据上传到HDFS中;

如果是日志服务器数据较大、压力较大,使用NFS在另一台服务器上上传数据;

如果日志服务器非常多、数据量大,使用flume进行数据处理;

2.2使用MapReduce对HDFS中的原始数据进行清洗;

2.3使用Hive对清洗后的数据进行统计分析;

2.4使用Sqoop把Hive产生的统计结果导出到mysql中;

2.5如果用户需要查看详细数据的话,可以使用HBase进行展现;

3、数据准备:

完整日志测试数据下载地址:/download/MrZhangBaby/14027892

每行记录有5部分组成:

1.访问ip

2.访问时间

3.访问资源【跟着两个访问的Url】

4.访问状态

5.本次流量

截取部分数据如下:

4、相关关键指标及计算逻辑

⊙浏览量PV

定义:页面浏览量即为PV(Page View),是指所有用户浏览页面的总和,一个独立用户每打开一个页面就被记录1 次。

分析:网站总浏览量,可以考核用户对于网站的兴趣,就像收视率对于电视剧一样。但是对于网站运营者来说,更重要的是,每个栏目下的浏览量。

计算公式:记录计数

⊙注册用户数

计算公式:对访问member.php?mod=register的url,计数

⊙IP数

定义:一天之内,访问网站的不同独立IP 个数加和。其中同一IP无论访问了几个页面,独立IP 数均为1。

分析:这是我们最熟悉的一个概念,无论同一个IP上有多少电脑,或者其他用户,从某种程度上来说,独立IP的多少,是衡量网站推广活动好坏最直接的数据。

公式:对不同ip,计数

⊙跳出率

定义:只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比,即只浏览了一个页面的访问次数 / 全部的访问次数汇总。

分析:跳出率是非常重要的访客黏性指标,它显示了访客对网站的兴趣程度:跳出率越低说明流量质量越好,访客对网站的内容越感兴趣,这些访客越可能是网站的有效用户、忠实用户。

该指标也可以衡量网络营销的效果,指出有多少访客被网络营销吸引到宣传产品页或网站上之后,又流失掉了,可以说就是煮熟的鸭子飞了。比如,网站在某媒体上打广告推广,分析从这个推广来源进入的访客指标,其跳出率可以反映出选择这个媒体是否合适,广告语的撰写是否优秀,以及网站入口页的设计是否用户体验良好。

计算公式:(1)统计一天内只出现一条记录的ip,称为跳出数

(2)跳出数/PV

⊙版块热度排行榜

定义:版块的访问情况排行。

分析:巩固热点版块成绩,加强冷清版块建设。同时对学科建设也有影响。

计算公式:按访问次数统计排序

5、具体开发实现:

5-1、把日志数据上传到HDFS中进行处理

如果是日志服务器数据较小、压力较小,可以直接使用shell命令把数据上传到HDFS中;

如果是日志服务器数据较大、压力较答,使用NFS在另一台服务器上上传数据;

如果日志服务器数据非常多、数据量大,使用flume进行数据处理;

5-2、使用MapReduce对数据进行清洗,清洗后的数据易于我们的使用

清洗标准:将Apache log日志清洗成我们熟悉的日志格式。

访问状态和本次流量字段去掉

过滤掉静态记录,只要动态记录;

GET /static 或者 GET /uc_server 开头的行文本舍弃

过滤掉了开头和结尾的标志信息;

GET / POST /

HTTP/1.1 HTTP/1.0

清洗日志的MapReduce源代码:

5-3、使用hive对清洗后的数据进行多维分析

(1)统计每日的pv(浏览量)

(2)统计每日的register(注册用户数)

(3)统计每日的独立的ip

(4)统计每日的独立的跳出率

到此获得了各个参数的结果:

(5) 将结果汇总:

4、将hive分析的结果使用sqoop导出到mysql中

接下来我们在mysql中查看数据:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。