为了进行hive与spark的开发,所以想以某个大规模数据集进行测试,找到了搜狗引擎的日志数据,网上公开的应该有一个月的数据,差不多为5000多万条,做测试应该是满足要求的。
搜索引擎查询日志库设计为包括约1个月(2008年6月)Sogou搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。为进行中文搜索引擎用户行为分析的研究者提供基准研究语料。(网址为:http://www.sogou.com/labs/dl/q.html)
在百度云盘上找到了一个分享,于是转载到自己云盘里,也在这边分享一下:链接:http://pan.baidu.com/s/12VPue 密码:jn39。
做数据入库到mysql,由于一直在ubuntu环境上做实验,于是采用eclipse + java来开发,虽然效率比较低,但是将就用吧。下附主要代码。其中由于日志采用文本行的方式来处理,对文本的切割有些地方会报错,因此采取一些简单的策略直接滤掉一些不满足要求的。并迁移到hive做下实验,效率还是挺高的。
public static void main(String [] args) {
//
String insertsql = "INSERT INTO
sougouquery(visitTime,userID, visitKeyword,rankIndex,clickIndex,clickUrl)"
//
+ " values(?,?,?,?,?,?)";
//
//
FileOutputStream fos = new FileOutputStream(newfileName);
//
OutputStreamWriter osw = new OutputStreamWriter(fos, "GB2312");
//
BufferedWriter bufferedWriter =
new BufferedWriter(osw);
//
bufferedWriter.write(newdatestring +" "+line);
//
System.out.println(newdatestring +" "+line);
//
bufferedWriter.newLine();
//
break;
//
preparedStmt = con.prepareStatement(insertsql);
//
preparedStmt.setDate(1,sdf.parse(newdatestring+" "+parts[0]));
//
preparedStmt.setString (2,parts[1]);
//
preparedStmt.setString (3, parts[2]);
//
preparedStmt.setInt(4, Integer.parseInt(parts[3]));
//
preparedStmt.setInt(5, Integer.parseInt(parts[4]));
//
preparedStmt.setString (6, parts[5]);
//
// Always close files.
//
// Always close files.
//
bufferedWriter.close();
//
bufferedWriter.write("Hello there,");
//
bufferedWriter.write(" here is some text.");
//
bufferedWriter.newLine();
//
bufferedWriter.write("We are writing");
//
bufferedWriter.write(" the text to the file.");