mongodb中使用mapreduce进行分组统计
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,最近在统计某一个时间段的url去重数,由于数据量巨大导致报错,提示:distinct failed: {"errmsg" : "exception: distinct too big, 16mb ca
千家信息网最后更新 2024年11月30日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安全错误
数据库的锁怎样保障安全
软件开发过程的优点
无线网络技术在农业的应用例子
服务器t5820
关于网络安全管理的建议
网络安全工程师在家工作
腾讯海外服务器梯子
工信部网络安全应急预案
襄樊跑腿app软件开发费用
合肥网络技术服务价格信息
服务器运维报告
什么软件开发抖音
Linux达梦数据库初始化实例
rms数据库管理文件被锁定
中国电信网络安全管理汇报
永州智能软件开发中介
php数组循环插座数据库
网络安全总体目标
可以做软件开发的公司
软件开发真不应该学
什么语言写服务器最简单
fm2012超级联赛数据库
linux备份数据库脚本
安仁电脑软件开发在哪学
光谷网络安全技术试点
营口市 软件开发公司查询
数据库的设计还需要外建吗
2018网络安全活动方案
海康后台服务器系统恢复什么意思
学校护苗网络安全美篇
逆变电源软件开发