MongoDB里MapReduce怎么使用?
发布时间:2023-12-17 12:25:06 所属栏目:系统 来源:DaWei
导读: 这篇文章主要给大家介绍的是关于在MongoDB中MapReduce的使用,小编认为是比较实用的,因此分享给大家作参考,需要的朋友可以看看,希望对大家学习有帮助。
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使用技巧,可以关注其他相关文章。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐