mongodb中使用mapreduce进行分组统计 最近在统计某一个时间段的url去重数,由于数据量巨大导致报错,提示: distinct failed: {
mongodb中使用mapreduce进行分组统计
最近在统计某一个时间段的url去重数,,由于数据量巨大导致报错,提示:
distinct failed: {
errmsg : exception: distinct too big, 16mb cap,
code : 17217,
ok : 0
} at src/mongo/shell/collection.js:1108
经过查阅资料,最终通过mapreduce来解决如下:
//定义map函数
map=function(){
emit(this.url,{count:1});
}
//定义reduce函数
reduce=function(key,values){
var total=0;
for(var i=0; i
total+=values[i].count;
}
return {count:total}
}
//执行mapreduce函数,其中out的值是存储执行结果的集合
db.runcommand({mapreduce:visit,map:map,reduce:reduce,query:{vtime:{$gte:1412611200,$lte:1413907119}},out:test.tmp});
centos编译安装mongodb
centos 编译安装 mongodb与mongodb的php扩展
centos 6 使用 yum 安装mongodb及服务器端配置
ubuntu 13.04下安装mongodb2.4.3
mongodb入门必读(概念与实战并重)
ubunu 14.04下mongodb的安装指南
《mongodb 权威指南》(mongodb: the definitive guide)英文文字版[pdf]
nagios监控mongodb分片集群服务实战
基于centos 6.5操作系统搭建mongodb服务
mongodb 的详细介绍:请点这里
mongodb 的下载地址:请点这里
本文永久更新链接地址:
本文永久更新链接地址: