package sogolog import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * 统计每小时搜索次数 */ /* 搜狗日志示例 访问时间(时:分:秒) 用户ID [查询词] 该URL在返回结果中的排名 用户点击的顺序号 用户点击的URL 00:00:00 2982199073774412 [360安全卫士] 8 3 download.it.com.cn/softweb/s…
map join相对reduce join来说,可以减少在shuff阶段的网络传输,从而提高效率,所以大表与小表关联时,尽量将小表数据先用广播变量导入内存,后面各个executor都可以直接使用 package sogolog import org.apache.hadoop.io.{LongWritable, Text} import org.apache.hadoop.mapred.TextInputFormat import org.apache.spark.rdd.RDD import…
package sogolog import org.apache.hadoop.io.{LongWritable, Text} import org.apache.hadoop.mapred.TextInputFormat import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} class RddFile { def readFileToRdd(path: String): RDD[St…
ELK 日志分析实例一.ELK-web日志分析二.ELK-MySQL 慢查询日志分析三.ELK-SSH登陆日志分析四.ELK-vsftpd 日志分析 一.ELK-web日志分析 通过logstash grok正则将web日志过滤出来,输出到Elasticsearch 搜索引擎里,通过Kibana前端展示. 1.1.创建logstash grok 过滤规则 #cat ./logstahs/patterns/nginx NGINXACCESS %{IPORHOST:remote_addr} – –…
本文只展示核心代码,完整代码见文末链接. Web Log Analysis 提取需要的log信息,包括time, traffic, ip, web address 进一步解析第一步获得的log信息,如把ip转换为对应的省份,从网址中提取出访问内容和内容ID,最后将信息转换为parquet格式. (1)按日期和内容(video)的ID进行分组,并根据访问次数进行倒序排序. (2)按日期,内容(video)的ID和省份进行分组,并根据访问次数排名取前3. 最后将(1)和(2)数据写入MySQL. 注…
1.下载搜狗日志文件: 地址:http://www.sogou.com/labs/resource/chkreg.php 2.利用WinSCP等工具将文件上传至集群. 3.创建文件夹,存放数据: mkdir /home/usr/hadoopdata 4.将搜狗日志数据移到(mv命令)3中创建的目录下,并解压 tar -zxvf SogouQ.mini.tar.gz 5.查看解压后文件格式 file SogouQ.sample 显示: 不是UTF-8,用head/cat命名查看,中文乱码(影响后续…
提取日志中未落入标准字段的mime,分adx,adtype 统计mime的数量和包含js的数量占比 require 'date' require 'net/http' require 'uri' require 'json' def getmimes ( adx , bodyobj ,totalmimes, statics) if bodyobj.class != Hash return end mimes = [] bodyobj.keys.each do |key| val = bodyob…
java.lang.NoSuchMethodError: org.apache.spark.sql.SQLContext.sql(Ljava/lang/String;)Lorg/apache/spark/sql/Dataset; 这是因为代码中调用的是spark2.0的接口,但是提交任务采用的是spark-submit(spark1的提交指令,spark2的提交指令是spark2-submit)方式导致: 再后来通过spark2-submit进行提交,但是发现爆了一个ClassNotFound(…
一.nginx日志结构 nginx中access.log 的日志结构: $remote_addr 客户端地址 211.28.65.253 $remote_user 客户端用户名称 -- $time_local 访问时间和时区 18/Jul/2012:17:00:01 +0800 $request 请求的URI和HTTP协议 "GET /article-10000.html HTTP/1.1" $http_host 请求地址,即浏览器中你输入的地址(IP或域名) www.it300.co…
第一步: 需求分析 需要哪些字段(时间:每一天,各个时段,id,url,guid,tracTime) 需要分区为天/时 PV(统计记录数) UV(guid去重) 第二步: 实施步骤 建Hive表,表列分隔符和文件保持一至 Load数据到Hive表中 写HiveSql进行统计,将结果放入Hive另一张表中(数据清洗) 从Hive的另一张表中的数据导出到Mysql,使用sqoop 网站项目从Mysql读取这张表的信息 预期结果 日期 小时 PV UV 第三步: 实施 # 建源表(注意进入beelin…