目录
实训题目:竞赛网站访问日志分析
一. 训练要点
(1)搭建Spurk工程环境。
(2) Spark编程。
(3)通过spark-submit提交应用。
二.需求说明
某竞赛网站每年都会开展数据挖据的竞赛,在竞赛期间网站会有大量人群访问,生成了大量的用户访向记录。现在提供2016年10月到2017年6月的部分脱敏访问日志数据。日志数据的基本内容如图所示,仅提供以下6个字段。
属性名称 |
属性解析 |
Id |
序号 |
Content_id |
网页ID |
Page_path |
网址 |
Userid |
用户ID |
Sessionid |
缓存生成ID |
Date_time |
访问时间 |
要求根据提供的用户访问日志数据,利用Spark技术统计访向的用户数、被访问的不同网页个数以及每月的访问量,并将结果保存到HDFS上。
文章所用文档以及目录等等说明:
(点击可免费下载)访问日志数据: jc_content_viewlog.txt
IDEA内实现代码存储路径与名字:LogCount.scala
jc_content_viewlog.txt 内部分数据如下图:
三.关键实现思路及步骤
(1)配置好Spark的IntelliJ IDEA开发环境。
(2)启动IntelliJ IDEA,并进行Spark编程。
(3)对访向记录中的网页去重,统计本周期内被访问网页的个数。
val logs_all: RDD[Array[String]] = sc.textFile(args(0)).map{_.split(",")}
val wy_log: RDD[String] = logs_all.map(x=>(x(1).toString)).distinct()
val wy_count:RDD[(String, Int)]= wy_log.map(("wy_zs",_)).groupByKey().map(x => (x._1,x._2.size))
(4) userid为用户注册登录的标