mongodb中使用mapreduce进行分组统计
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,最近在统计某一个时间段的url去重数,由于数据量巨大导致报错,提示:distinct failed: {"errmsg" : "exception: distinct too big, 16mb ca
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
彩虹六号改服务器
网络安全宣传片新闻稿
网络安全手抄报用多大纸
数据库怎么判断bug
中国台湾oa软件开发需要多少钱
java实现服务器负载均衡
虹口区本地网络技术厂家供应
提高网络安全防止电信诈骗
海口机场租车软件开发
网络安全go开发
网络技术是指哪些专业
前端与服务器端
乐配互联网科技有限公司
安装终端授权服务器
江苏电脑软件开发哪家专业
吕跃广网络安全
前端页面静态数据库
三台服务器能串联吗
java软件开发样板
网络安全审计师工资
望城区软件开发
哪个数据库不提供主题词检索
宜昌仓库管理软件开发
长城国产化服务器销售电话
图书馆可以检索数据库吗
服务器显卡k30
走失儿童dna数据库找到了
gp数据库如何解决中文乱码
赤水二手车软件开发公司
服务器信息安全风险汇总表