用户查询日志(SogouQ)之查询词URL最优Rank

输入数据来源, 用户查询日志(SogouQ), 感谢搜狗实验室! 这次选择的是精简版(一天数据, 63MB, 解压后145MB), html


PS1: 日志原格式是GB2312编码, 必定要记得转成UTF-8node

PS2: 日志格式和格式说明:    // 搜狗实验室的官方说明缓存

访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL, ui

这个格式有坑, 深坑:编码

"该URL在返回结果中的排名\t用户点击的顺序号"这两个字段之间的分割符并不是制表符\t而是空格spa

val sogouQRdd = sc.textFile("hdfs://node1:9000/sogouQ/input")
sogouQRdd.cache    # 在下一次Action操做时, 将日志文件缓存到内存中


求出日志文件条目总数scala

val itemCountRdd = sogouQRdd.count
itemCountRdd: Long = 1724264


对于每个查询词, 求出该 URL 在返回结果中的排名为1, 且用户点击的顺序号为1的条目总数日志

这说明这次搜索结果的 URL 的 Rank 最优code

val suitableRankRdd = sogouQRdd.filter(_.split('\t').length == 5).map(_.split('\t'))
.filter(_(3).split(' ')(0).toInt == 1).filter(_(3).split(' ')(1).toInt == 1).count

suitableRankRdd: Long = 279859


计算查询词 URL 最优 Rank 的频率:orm


最优Rank频率 URL最优Rank次数 / 条目总数

suitableRankRdd / itemCountRdd = 0.1623

因此查询词 URL最优Rank 的频率为 16.23%


WordCount 模型适用不少数据统计, 其实简单的 WordCount 能够处理, 分析出不少的信息, 

相关文章
相关标签/搜索