mongodb中使用mapreduce进行分组统计
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,最近在统计某一个时间段的url去重数,由于数据量巨大导致报错,提示:distinct failed: {"errmsg" : "exception: distinct too big, 16mb ca
千家信息网最后更新 2025年11月07日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 < values.length; 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"});关于mapreduce的选项解释如下:
"out":{replace:"collection name"} -- mapreduce输出结果会替换掉原来的collection,collection不存在则创建"out":{merge:"collection name"} -- 将新老数据进行合并,新的替换旧的,没有的添加进去"out":{reduce:"collection name"}-- 存在老数据时,在原来的基础上加新的数据(即new value=old value+mapreduce value)"out":{inline:1} -- 不会创建collection,结果保存在内存里面,只限于结果小于16MB的情况
数据
结果
函数
统计
巨大
内存
基础
情况
时间
时间段
存储
提示
解释
输出
分组
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术职考
服务器的位置移动过吗
路由器连接不上DNS服务器
pc端软件开发实例
人类最大的遗传数据库
湛江网络技术有限公司
什么是软件开发大学
sql数据库实体文件怎么还原
北京天悦网络技术有限公司
sql数据库使用索引
中国矿业大学网络安全系官网
安卓软件开发要学多长时间
网络安全专题的亮点概括
服务器管理员怎么打开玩家背包
思科软件开发工程师
服务器桌面没有任何图标
web测试数据库攻略
宁夏精益管理软件开发
33岁学数据库晚吗
读写数据库技术
国家网络安全人人有责新闻稿
免备案空间也是远程服务器吗
航班订票系统软件开发
饭店点餐管理系统数据库
好玩的mc手机端服务器
网卡可以保障网络安全吗
google永久免费的服务器
关于网络安全的教案设计
雪球 网络安全
海尔科技工业互联网