MongoDB也提供了map/reduce方法来对数据进行聚合分析.和hadoop中的map/reduce的原理一样,map主要对收录的数据进行遍历,并输出一序列的键值对,reduce对从map输出的结果进行聚合分析并输出.
ok,下面以一个简单的wordCount程序做实验吧.
1.插入测试数据
use test
users=["A","B","C","D"]
for(var i=0;i<100000;i++)
{
name = users[Math.floor(Math.random()*users.length)];
db.names.insert({"name":name})
}
2.执行map/reduce
db.names.mapReduce(
function(){emit(this.name,1);},
function(key,values){return Array.sum(values);},
{
out:"statics"
}
)
3.查看统计结果如下,db.statics.find()