使用Spark进行搜狗日志分析实例——统计每个小时的搜索量

 1 package sogolog
 2
 3 import org.apache.spark.rdd.RDD
 4 import org.apache.spark.{SparkConf, SparkContext}
 5
 6 /**
 7   * 统计每小时搜索次数
 8   */
 9 /*
10 搜狗日志示例
11 访问时间(时:分:秒)    用户ID                [查询词]        该URL在返回结果中的排名    用户点击的顺序号    用户点击的URL
12 00:00:00    2982199073774412    [360安全卫士]    8 3    download.it.com.cn/softweb/software/firewall/antivirus/20067/17938.html
13 00:00:00    07594220010824798    [哄抢救灾物资]    1 1    news.21cn.com/social/daqian/2008/05/29/4777194_1.shtml
14 00:00:00    5228056822071097    [75810部队]    14 5    www.greatoo.com/greatoo_cn/list.asp?link_id=276&title=%BE%DE%C2%D6%D0%C2%CE%C5
15 00:00:00    6140463203615646    [绳艺]    62 36    www.jd-cd.com/jd_opus/xx/200607/706.html
16 */
17 object CountByHours {
18   def main(args: Array[String]): Unit = {
19
20     //1、启动spark上下文、读取文件
21     val conf = new SparkConf().setAppName("sougo count by hours").setMaster("local")
22     val sc = new SparkContext(conf)
23     var orgRdd = sc.textFile("C:\\Users\\KING\\Desktop\\SogouQ.reduced\\SogouQ.reduced")
24     println("总行数:"+orgRdd.count())
25
26     //2、map操作,遍历处理每一行数据
27     var map:RDD[(String,Integer)] = orgRdd.map(line=>{
28         //拿到小时
29         var h:String = line.substring(0,2)
30         (h,1)
31     })
32
33     //3、reduce操作,将上面的 map结果按KEY进行合并、叠加
34     var reduce:RDD[(String,Integer)] = map.reduceByKey((x,y)=>{
35       x+y
36     })
37
38     //打印出按小时排序后的统计结果
39     reduce.sortByKey().collect().map(println)
40   }
41 }

运行结果:

搜狗日志下载地址:http://www.sogou.com/labs/resource/q.php

原文地址:https://www.cnblogs.com/wbh1000/p/9807437.html

时间: 2024-08-29 22:58:10

使用Spark进行搜狗日志分析实例——统计每个小时的搜索量的相关文章

使用Spark进行搜狗日志分析实例——列出搜索不同关键词超过10个的用户及其搜索的关键词

1 package sogolog 2 3 import org.apache.hadoop.io.{LongWritable, Text} 4 import org.apache.hadoop.mapred.TextInputFormat 5 import org.apache.spark.rdd.RDD 6 import org.apache.spark.{SparkConf, SparkContext} 7 8 9 10 class RddFile { 11 def readFileToR

Apache日志分割&日志分析

Apache日志分割 随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来越大,如果不采用日志分割,当日志文件不断增大时,当占用太大的磁盘空间时将会被系统删除,而且随着日志文件的增大,对于管理员对Apache服务器进行访问分析.网络安全监察.网络运行状况监控等操作带来较大难度,因此管理这些海量日志对网站的意义重大. 实验描述: 完成对Apache的日志分割 本实验采用Apache2.2版本 服务器IP:192.168.100.107 所需服务:httpd.DNS 服务

AWStats 强大的日志分析系统

需求 在日常web服务器的运行中,记录了大量的客户机访问的信息,而如何快捷地知道此刻web服务器的访问及运行情况,如每天的访问IP数量.点击量最大的页面.每日的访问高峰时间段等信息呢? 解决方案 将通过使用强大的日志分析系统AWStats对其进行自动化的日志分析与统计工作. AWStats介绍 AWStats是使用Perl语言开发的一款开源日志分析系统,它不仅可用来分析Apache网站服务器的访问日志,也可以用来分析Samba.Vsftpd.IIS等服务的日志信息.结合crond等计划任务服务,

构建AWStats日志分析系统

需求描述 管理员搭建完服务器,要对网站的性能做后期的不断的分析和调整,以至达到最完美的状态.针对服务器每天的日志访问量.高峰时间.压力等等是通过日志信息系统分析.如果事前没有预估,没有给定足相应的cpu.内存.假如有一天突然高发值,服务器会直接崩溃.通过观察日志,以便在以后工作调整中提出整改方案. 简介 在httpd服务器的访问日志文件access_log中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解Web站点的访问情况,通过AWStats日志分析系统,以完成自动化的日志分析与统

打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用

1.下载spark和运行 wget http://apache.fayea.com/apache-mirror/spark/spark-1.0.0/spark-1.0.0-bin-hadoop2.tgz 我这里下载的是1.0.0版,由于我们只是测试spark的用法所以不需要配置spark集群,只需把下好的文件解压,进入bin/文件夹. spark支持scala,java和python. scala和java输入命令:./spark-shell python 输入命令 ./pyspark 进入控制

Hadoop经典案例Spark实现(七)——日志分析:分析非结构化文件

相关文章推荐 Hadoop经典案例Spark实现(一)--通过采集的气象数据分析每年的最高温度 Hadoop经典案例Spark实现(二)--数据去重问题 Hadoop经典案例Spark实现(三)--数据排序 Hadoop经典案例Spark实现(四)--平均成绩 Hadoop经典案例Spark实现(五)--求最大最小值问题 Hadoop经典案例Spark实现(六)--求最大的K个值并排序 Hadoop经典案例Spark实现(七)--日志分析:分析非结构化文件 1.需求:根据tomcat日志计算ur

CK2255-以慕课网日志分析为例 进入大数据 Spark SQL 的世界

新年伊始,学习要趁早,点滴记录,学习就是进步! 随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了.对于学习有困难不知道如何提升自己可以加扣:1225462853  获取资料. 下载地址:https://pan.baidu.com/s/1hsU5EIS 以慕课网日志分析为例 进入大数据 Spark SQL 的世界 本课程以"慕课网日志分析"这一大数据应

搜狗搜索日志分析系统

前奏:请提前搭建好你的集群和必要的软件:hadoop + jdk + hive + Sqoop + HBase: 数据(链接是网友的,感谢,感谢,感谢.里面有测试数据):链接:http://pan.baidu.com/s/1dFD7mdr密码:xwu8 一:数据预处理(Linux 环境): 1 搜狗数据的数据格式: 2 访问时间\t 用户 ID\t[查询词]\t 该 URL 在返回结果中的排名\t 用户点击的顺序号\t 用户点击的 URL 3 其中,用户 ID 是根据用户使用浏览器访问搜索引擎时

Linux下安装部署AWStats日志分析系统实例

AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息.       此文章主要讲解如何在linux系统下安装部署关于对Apache网站服务站日志分析的AWStats. 实验步骤一,安装部署AWStats分析软件. 一,安装AWStats软件包. 直接将其解压到/usr/local/awstats目录下即可完成安装. 使用命令:mkdir -p /usr/local/awstats tar z