一、前言
初步学习了hive,以搜狗实验室的一部分搜索日志为数据集进行hiveQL语句操作练习。
二、数据集介绍
语料官网:http://www.sogou.com/labs/resource/q.php
简介:搜索引擎查询日志库设计为包括约1个月(2008年6月)Sogou搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。为进行中文搜索引擎用户行为分析的研究者提供基准研究语料。
语料格式:
“访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL”
其中,用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID。
另附,日志数据集一共三个版本:迷你版(样例数据, 376KB); 精简版(一天数据,63MB); 完整版(1.9GB).而本次练习用的是精简版本,即一天的数据。
三、操作练习
3.1建表
create extended table souGouLog(
visitTime String,
userID String,
keyWords String,
urlRank int,
clickRank int,
url String)
comment 'sougou log'
row format delimited fields terminated by '\t';
3.2加载数据
load data inpath '/ljl/sougoulog'overwrite into table souGouLog;
注:这里的路径是日志文件在hdfs上的路径,为一个目录。
3.2一共有多少条搜索日志
select count(*) fromsouGouLog;
注:运行结果1724264,这个数据小,用文本编辑器打开就可以得到此数据
3.3. 一共有多少用户
select count(distinctuserID) from souGouLog;
注:运行结果519876个用户
3.4一共有多少网页
sel