【发布时间】:2014-03-14 12:35:33
【问题描述】:
我今天决定试用 CouchDB,这里使用了大约 9GB 的 Amazon Review 数据: http://snap.stanford.edu/data/web-Movies.html
我想要做的是找到有史以来最没有帮助的用户。写了最多评论而其他人认为没有帮助的人(他们是亚马逊最伟大的巨魔吗?还是只是令人不快?我想看看)。
我编写了一个 map 函数来查找所有帮助评分差异超过 5 的用户的 userID,然后编写了一个 reduce 函数来对它们求和,以找出它们出现的频率。
// map function:
function(doc){
var unhelpfulness = doc.helpfulness[1] - doc.helpfulness[0]
if(unhelpfulness > 5){
emit(doc.userId, 1);
}
}
// reduce function:
function(keys, values){
return sum(values);
}
这让我看到了 userId :无用评论的数量。
我想获取此输出,然后使用更多 map reduce 对其进行重新处理,以找出谁写的评论最无益。我该怎么做呢?我可以将视图导出为另一个表或其他东西吗?还是我只是以错误的方式思考这个问题?
【问题讨论】: