用户行为日志分析
用户行为日志概述
概念定义:用户每次访问网站时,所有的行为数据:访问,浏览,搜索,点击。。。
用户行为轨迹,流量日志。。。
比如:点课程,有记录,点html css,时间,IP,pc端?对大数据感兴趣
为什么
1.可以通过日志分析得到网站访问量
2.网站粘性
3.相应推荐(搜索洗衣机,根据点击日志,能够分析出来最近对家用电器感兴趣,给你打标签,为了促进新的订单产生)
生成渠道:nginx,ajax(鼠标悬停以及页面主键构成)
用户行为日志内容;
ip
账号
时间区域
使用的客户端
业务相关
链接地址跳转
分类:
1)访客系统属性,操作系统,浏览器
2)访问特征:url,ref,停留时间
3)访问信息:sessionid ,ip 这干嘛用?能够获取到地市
如何
意义
网站的眼睛:来自哪里,找什么?你那些页面最受欢迎?从哪里进来的?
离线数据处理架构
数据采集,清洗,功能需求统计处理,写入库,可视化
1)数据采集 flume专门log data web日志写入到hdfs上
2)数据清洗 采用spark、hive、mapreduce清洗完之后可以放在HFDF上或其他分布式计算框架上
3)数据处理 按照需求进行相应业务逻辑统计分析
4)数据处理结果入库 结果可以存放在RDBMS和NoSQL中,调用对应数据库api
5) 数据可视化展示 通过图形化展示的方式展现出来:饼图、柱图、地图、折线图,百度echarts,hue,zeppelin
项目需求
需求一:统计immoc主站最受欢迎的课程手记的TOPN访问次数
需求二:按地市统计主站最受欢迎的top N课程 根据ip提取城市(借助开源项目)
需求三:按流量统计TOP n
日志分析:
数据清洗:编写scala程序:1.通过debug查看字段,获取所需字段 第一步解析 2.转换成地市、编号
。。。
dataframe保存到Mysql
数据可视化:echarts 依附图片可以使实际看到的比期望看到的更多
常见的可视化框架:echarts highcharts d3.js //hue zeppelin(不需要开发的)
功能实现
spark on yarn
性能调优(面试优化点)