在这里为Map/Reduce和CouchDB的业余爱好者排名。我有一个CouchDB,里面有大约600,000行数据,表示记录的视图。我的愿望是生成一个图表,显示整个数据集中每条记录的点击率。CouchDB - 将MapReduce结果传递到第二个MapReduce函数
我已经实现的Map/Reduce函数来分组,像这样:
function(doc) {
emit(doc.id, doc);
}
和:
function(key, values) {
return values.length;
}
,因为现在还是有降低值相当数量的,我们只希望,比如图表上的100个数据点,这不是很有用。另外,它需要永远运行。
我可以检索每一个X行,但将是理想将通过这些降低的结果反馈到另一个减少函数,它接受它的值的平均值,所以我最终得到一套漂亮的,比方说,100结果,这对于投入高级概览图来查看匹配的分布非常有用。
这可能吗? (如果是的话,密钥会是什么?)或者我只是在我的MapReduce代码中搞砸了一些东西,这使得它非常不友好,因此允许我在我的应用程序代码中执行此操作。只有33,500个结果返回。
谢谢, 马特
两个相关的问题 - 如果等待时间是通过网络搅动了JSON,是有一些工厂做服务器上的基于JS定制后处理?或者我只是做错了什么?特别是在阅读[这篇文章](http://wiki.apache.org/couchdb/How_to_handle_stats_aggregation)后,我想知道是否需要在它到达CouchDB之前进行预先聚合(这是不行的,因为我总是需要查看整个数据集的摘要 - 即不按时间分割),或者不使用CouchDB。 我确实试图强迫它做一些不擅长的事情吗? – nullPainter 2012-04-26 20:48:28
再次阅读这篇文章,我想我不是索引原始访问日志数据,而是可以为每个记录每个适当粒度的时间段(例如,每个记录每天的点击次数)命中索引。将实验! – nullPainter 2012-04-26 23:59:52