Mapreduce代码:https://github.com/pickLXJ/analysisSogou.git
Log日志:https://pan.baidu.com/s/112P_hR9FlQq7htyTVjxgwg
一、日志格式
搜狗格式查询https://www.sogou.com/labs/resource/q.php
原始数据
20111230000418 e686beaf83faa9a106b1a023923edd74 黑镜头 9 2 http://bbs.tiexue.net/post_4161367_1.html
20111230000418 5467c699d1ae4a61b6d53bb2fe83c04a 搜索 WWW.MMPPTV.COM 6 3 http://9bc947d.he.artseducation.com.cn/
20111230000418 55623d0852a5161063c6d01f0856a814 百里挑一主题歌是什么 5 1 http://zhidao.baidu.com/question/169708995
20111230000418 8d737be3a9c125181bdd422287bee65f 钻石价格查询 4 2 http://tool.wozuan.com/
20111230000419 bbe344592ade912de81595d2ec140c0d 眉山电信 9 1 http://www.aibang.com/detail/1232487017-414995109
20111230000419 df79cc0c9a4c9faa1656023c5c12265e 好看的高干文 8 2 http://www.tianya.cn/publicforum/content/funinfo/1/1643841.shtml
20111230000419 ec0363079f36254b12a5e30bdc070125 AQVOX 8 7 http://www.erji.net/simple/index.php?t122047.html
二、数据清洗
脚本去除空白数据,转化部分数据
扩展脚本 (年月日)
vim log-extend.sh
[root@bigdata000 ~]#log-extend.sh /home/samba/sample/file/sogou.500w.utf8 /home/samba/sample/file/sogou_log.txt
过滤脚本(过滤搜索为空)
Vim log-filter.sh
#!/bin/bash
#infile=/home/sogou_log.txt
infile=$1
#outfile=/home/sogou_log.txt.flt
outfile=$2
awk -F "\t" '{if($2 != "" && $3 != "" && $2 != " " && $3 != " ") print $0}' $infile > $outfile
[root@bigdata000 ~]# log-filter.sh /home/samba/sample/file/sogou_log.txt /home/samba/sample/file/sogou_log.txt.flt
基于HIve构建日志数据的数据仓库
- 创建数据库
hive> create database sogou;
- 使用数据库
Hive> use sogou;
- 创建扩展 4 个字段(年、月、日、小时)数据的外部表:
hive> CREATE EXTERNAL TABLE sogou_data(
ts string,
uid string,
keyword string,
rank int,
sorder int,
url string,
year int,
month int,
day int,
hour int)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY '\t'
> STORED AS TEXTFILE;
OK
Time taken: 0.412 seconds
- Hive表加载本地数据
load data local inpath '/home/s