mongdb mapReduce聚合操作
1、数据准备
请看group操作
2、mapReduce名词解释
mapReduce 随着"大数据"概念而流行.其实mapReduce的概念非常简单,从功能上说,相当于RDBMS的 group 操作 mapReduce的真正强项在哪? 答:在于分布式,当数据非常大时,像google,有N多数据中心,数据都不在地球的一端,用group力所不及. group既然不支持分布式,单台服务器的运算能力必然是有限的.而mapRecuce支持分布式,支持大量的服务器同时工作,用蛮力来统计. mapRecuce的工作过程: map-->映射 reduce->归约 map: 先是把属于同一个组的数据,映射到一个数组上.cat_id-3 [23,2,6,7] reduce: 把数组(同一组)的数据,进行运算.
3、mapReduce实操
1、用mapReduce计算每个栏目的库存总量 map函数 var map = function() { emit(this.cat_id,this.goods_number); } var reduce = function(cat_id,numbers) { return Array.sum(numbers); } db.goods.mapReduce(map,reduce,{out:'res'}); 2、用mapReduce计算每个栏目下商品的平均价格 var map = function() { emit(this.cat_id,this.shop_price); } var reduce = function(cat_id,values) { return Array.avg(values); } db.goods.mapReduce(map,reduce,{out:'res'});
mapReduce详细解析可以查看:https://www.cnblogs.com/chenpingzhao/p/7913247.html
本文来自博客园,作者:小白啊小白,Fighting,转载请注明原文链接:https://www.cnblogs.com/ywjfx/p/10230146.html