您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
mongodb-mapReduce概念及用法
发布时间:2017-11-22 19:02:26编辑:雪饮阅读()
概念
mapReduce随着”大数据”概念而流行,其实mapReduce的概念非常简单,从功能上说,相当于RDBMS的group操作
mapReduce的真正强项在哪?
在于分布式,当数据非常大时,像google,有n多数据中心,数据都不在地球的一端,用group力所不及。group既然不支持分布式,单台服务器的运算能力必然有限,而mapReduce支持分布式,支持大量的服务器同时工作,用蛮力来统计。
mapReduce的工作过程:
map->映射
reduce->归约
map:先是把属于同一个组的数据,映射(散发)到一个数组上.cat_id-3 [23,2,6,7]
reduce:把数组(同一组)的数据,进行运算.
用法示例:
用mapReduce计算每个栏目的库存总量
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'});
db.res.find();
用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'});
db.res.find();
关键字词:mongodb,mapReduce
上一篇:mongodb-CURD操作详解