网站离线日志分析(log analize)
一.概述:
1.1项目背景
某网站系统实时产生日志信息,记录用户对系统的访问信息,例如:IP地址,用户名称,访问时间,请求和响应信息,其中IP地址信息是表示全国各地用户的访问情况,对IP地址的详细分析,可以了解各个地区对该网站系统访问的活跃度,用以判断该网站公司对区域活动的推广情况和投入成本。本项目为网站运营方向常用技术案例。
网站日志流量分析系统之(日志收集)已将数据落地收集,根据网站日志流量分析系统中架构图,接下来要做的事情就是做离线分析,编写程序或通过手写HQ对数据进行清洗。
1.2任务
1)对日志进行清洗。
2)统计该时间段内的PV。
3)统计该时间段内的UV。
4)统计该时间段跳出用户信息
将获取到的结果存为本地文件result1、result2。
二.数据格式分析
IP: 记录客户端的ip地址, 222.68.172.190
user: 记录客户端用户名称, –
time: 记录访问时间与时区, [18/Sep/2013:06:49:57 +0000]
request: 记录请求的url与http协议, “GET /images/my.jpg HTTP/1.1”
status: 记录请求状态,成功是200, 200
pv: 记录一天之内访问的数量,也就意味着一条日志代表一次点击量
uv: 记录一天之内独立访客数量,同一个客户在一天之内多次访问只能记录一个uv
人均浏览页数: 平均每个独立访客产生的 PV。人均浏览页数=浏览次数/独立访客。体现网站对访客的吸引程度。
跳出率:指某一范围内单页访问次数或访问者与总访问次数的百分比。其中跳出指单页访问或访问者的次数,即在一次访问中访问者进入网站后只访问了一个页面就离开的数量。
退出率:指某一范围内退出的访问者与综合访问量的百分比。 其中退出指访问者离开网站的次数,通常是基于某个范围的。
三.数据处理方案
- 过滤格式不正确的记录;
- 对每一行的日志信息进行切分并且过滤清洗掉不符合规则的数据
- 通过对日志信息的分析,按照空格切分后,下标为10的是url
- 长度小于10的暂且认为是不符合规则的数据
- 创建分析后要存入数据的表
- Clean类(主要使用Spark core进行格式清洗得到(IP,和格式转化后的时间)
- Change(使用SparkSQL进行PV、IP、跳出用户的查询)
- Hour类(使用SparkSQL 对24小时访问量的统计)
数据处理流程
数据清理