加入收藏 | 设为首页 | 会员中心 | 我要投稿 文章分享网_茂名站长网 (https://www.0668zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB里MapReduce怎么使用?

发布时间:2023-12-28 21:55:55 所属栏目:系统 来源:DaWei
导读: 这篇文章主要给大家介绍的是关于在MongoDB中MapReduce的使用,小编认为是比较实用的,因此分享给大家作参考,需要的朋友可以看看,希望对大家学习有帮助。

MapReduce的强大
       这篇文章主要给大家介绍的是关于在MongoDB中MapReduce的使用,小编认为是比较实用的,因此分享给大家作参考,需要的朋友可以看看,希望对大家学习有帮助。

       MapReduce的强大且灵活,它可以将一个大问题拆分为多个小问题,将各个小问题发送到不同的机器上去处理,所有的机器都完成计算后,再将计算结果合并为一个完整的解决方案,这就是所谓的分布式计算。本文我们就来看看MongoDB中MapReduce的使用。

       mapreduce其实是分批处理数据的,每一百次重新reduce处理,所以到reduce里的数据如果是101条,那就会分2次进入。这导致的问题就是在reduce中 如果 初始化 var count = 0;在循环中 count ++,最后输出的是1???避免都方法是,把数据存在返回的value里,这个value是会在循环进入reduce的时候重用的。在循环中 count += value.count就能把之前都100加上了!!!还有如果只有一条数据,那它不会进入reduce,会直接返回。

       下面是具体例子:
string map = @"
function() {
var view = this;
emit(view.activity, {pv: 1});
}";
string reduce = @" 
function(key, values) {
var result = {pv: 0};
values.forEach(function(value){ 
result.pv += value.pv;
});
return result;
}";
string finalize = @"
function(key, value){
return value;
}";

       含义如下:
参数    含义
mapReduce    表示要操作的集合
map    map函数
reduce    reduce函数
finalize    最终处理函数
out    输出的集合
query    对结果进行过滤
sort    对结果排序
limit    返回的结果数
scope    设置参数值,在这里设置的值在map、reduce、finalize函数中可见
jsMode    是否将map执行的中间数据由javascript对象转换成BSON对象,默认为false
verbose    是否显示详细的时间统计信息
bypassDocumentValidation    是否绕过文档验证
collation    其他一些校对

       以上就是关于MongoDB中MapReduce的使用的介绍,有这方面学习需要的朋友可以多的看看,希望对大家能有帮助,更多mapreduce使用技巧,可以关注其他相关文章。

 

(编辑:文章分享网_茂名站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章