【Spark SQL实战】日志分析(一)介绍、数据清洗

笔记目录:

【Spark SQL实战】日志分析(一)介绍、数据清洗

【Spark SQL实战】日志分析(二)实现项目需求

【Spark SQL实战】日志分析(三)结果可视化

目录

 

一、用户行为日志

1.日志介绍

2.日志数据内容

二、数据处理流程

1、数据采集

2、数据清洗

3、数据处理

4、处理结果入库

5、数据可视化

三、项目需求

四、数据清洗

五、数据清洗代码实现

1、第一次清洗:格式化原始日志数据

2、二次清洗:日志解析


一、用户行为日志

1.日志介绍

用户每次访问网站时所有行为数据(访问、浏览、点击、搜索....)用户行为轨迹、流量日志

2.日志数据内容

1)访问的系统属性:操作系统、浏览器等等

2)访问特征:点击url、从哪个url跳转过来的(referer)、页面上停留的时间等....

3)访问信息:session_id、访问ip(访问城市)等

二、数据处理流程

1、数据采集

  • Flume:web日志写入到HDFS

2、数据清洗

  • 脏数据处理
  • 可以使用Spark、Hive、MapReduce
  • 清洗完之后数据可以放在HDFS

3、数据处理

  • 按照需求进行业务统计和分析
  • 使用Spark、Hive、MapReduce或者其他分布式计算框架

4、处理结果入库

  • 结果存放在RDBMS、NoSQL

5、数据可视化

  • 通过图形化展示的方式展现出来:饼图、折线图等
  • 使用ECharts、HUE等

【离线数据处理架构流程图】 

三、项目需求

  • 需求一:统计慕课网最受欢迎的课程/手记的Top N访问次数
  • 需求二:按地市统计慕课网最受欢迎的的Top N课程
    • 根据ip地址提取城市信息
    • 窗口函数在Spark SQL的使用
  • 需求三:按流量统计慕课网最受欢迎的的Top N课程

四、数据清洗

  • 使用Spark SQL解析日志
  • 解析出课程编号、类型
  • 根据ip解析出城市信息
  • 使用Spark SQL将访问时间按天进行分区输出
  • 一般处的日志处理方式,我们需要分区的
    • 安装日志中的访问时间进行相应的的分区,比如:d(天),h(小时),m5(每五分钟一个分区)
  • 输入:访问时间、访问URL、耗费的流量、访问ip地址信息
  • 输出:URL、cmsType(video/article)、cmsId(编号)、流量、ip、城市信息、访问时间、天

五、数据清洗代码实现

原始日志:

183.162.52.7 - - [10/Nov/2016:00:01:02 +0800] "POST /api3/getadv HTT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值