Spark scala编程练习题——通过日志统计网站访问量
创始人
2024-04-14 20:27:23
0

数据说明
数据:某搜索引擎查询日志
搜索引擎查询日志数据包括搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。
用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID。
注意数据间分割符。
时间 用户ID [查询词] 该URL在返回结果中的排名 用户点击的顺序号 用户点击的URL
00:00:00 2982199073774412 [360安全卫士] 8 3 download.it.com.cn/softweb/software/firewall/antivirus/20067/17938.html

注意:
1.数据间分隔符问题,其中字段3、4之间为空格,其他字段之间为制表符;(可以使用"\s+"对空格、制表符等进行拆分);
2.为了便于分析和数据统一,要求数据分割后长度等于6,过滤不合法数据

需求1:网站(URL)访问量统计,对URL进行过滤,统计日志数据中各个网站URL首页的访问次数,结果写入本地/root/retrievelog/output/url/part-00000,格式见步骤说明。
对URL进行过滤,获取首页网站的访问量,只统计www开头的首页网站;
过滤以www开头的所有URL,对URL进行/切分,获取首页网址,如www.tudou.com;
首页网址搜索频率统计,按首页网址分组聚合,根据频率进行降序排列;
文件保存路径为:/root/retrievelog/output/url/part-00000,结果无需分区;
示例结果:(www.tudou.com,28714) 表示网站URLwww.tudou.com的访问次数为28714。

先导入一下spark的依赖

org.apache.sparkspark-core_2.123.0.0

代码如下:

package com.dd.sparkimport java.io.{File, PrintWriter}import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}object LogAnalyse01 {def main(args: Array[String]): Unit = {val sparkConf= new SparkConf().setMaster("local[*]").setAppName("LogAnalyse01")val sc : SparkContext = new SparkContext(sparkConf)val fileRDD: RDD[String] = sc.textFile("D:\\test1128\\reduced.txt")//只获取一下网址内容val urlRDD: RDD[String] = fileRDD.map( _.split("\t")(4))//按需要过滤一下不是www打头的val wwwRDD: RDD[String] = urlRDD.filter(_.startsWith("www"))//按需要切割一下/val splitRDD: RDD[String] = wwwRDD.map(_.split("/")(0))//wordcount操作val wordRDD: RDD[(String, Int)] = splitRDD.map((_,1))//按照key聚合一下val byKeyRDD: RDD[(String, Int)] = wordRDD.reduceByKey(_+_)//搞一下排序val sortRDD: RDD[(String, Int)] = byKeyRDD.sortBy(_._2,false)//将结果写入文件val writer = new PrintWriter(new File("D:\\test1128\\result01.txt"))val tuples = sortRDD.collect()for (elem <- tuples) {writer.write("("+elem._1 + "," + elem._2 + ")\n")}sc.stop()}}

相关内容

热门资讯

喜闻乐见,2026年“国补”政... 12月30日,国家发展改革委、财政部印发的《关于2026年实施大规模设备更新和消费品以旧换新政策的通...
女子与表姐夫婚外情获赠三百余万... 一桩发生在海南的民间借贷纠纷,将一段持续二十余年的婚外情推到台前。相关材料显示,男子林森(化名)在婚...
诉讼纠纷频发!中央商场子公司又... 继控股子公司新亚百货面临补缴税款及滞纳金7392万元后,百货零售巨头中央商场(600280.SH)另...
从明天起,楼市迎来两大利好政策... 作者:暴哥 来源:暴财经pro 同志们,2025年要过去了! 今年,各位在股市里应该收获不少,把过去...
国台办回应台湾网红“馆长”大陆... 12月31日,国台办举行例行新闻发布会,国台办发言人张晗就近期两岸热点问题回答记者提问。 有记者提问...
中钢天源:股东中钢热能院907... 雷达财经 文|冯秀语 编|李亦辉 12月30日,中钢天源(证券代码:002057)发布公告称,其控股...
宇树科技因侵权责任纠纷案件被起... 天眼查法律诉讼信息显示,近日,杭州宇树科技股份有限公司及邵某新增1条开庭公告,原告为孙某,涉及侵权责...
今日视点:“制度创新+科技突破... 2025年,A股市场交易活跃度持续提升。截至12月30日,全年累计成交金额达417.8万亿元,同比增...
专业文章丨第二顺位抵押权人实现... 【珠海律师、珠海法律咨询、珠海律师事务所、京师律所、京师珠海律所】 (本文转载自北京市京师郑州律师事...
企业就网络谣言报案并追究法律责... 2025-12-31 09:41:29 作者:狼叫兽 声明指出,目前相关网络平台已对上述不实信息进...