MongoDB--MapReduce分布统计s

MapReduce

Mapreduce:要操作的目标集合
Map:映射函数(生成键值对序列,作为reduce函数参数) //传入分组的key和需要统计的值
Reduce:统计函数  //格式化返回的参数对象
Query:目标记录过滤  //在mp之前对查询过滤条件
Sort:目标记录排序
Limit:限制目标记录数量
Out:统计结果存放集合(不指定使用临时集合,在客户端断开后自动删除)// 将结果输出到某张表内
Keeptemp:是否保留临时集合
Finalize:最终处理函数(对reduce返回结果进行最终整理后存入结果集合) //对结果进行处理
Scope:向map、reduce、finalize导入外部变量

Verbose:显示详细的时间统计信息。



数据结构



db.runCommand({
		mapreduce:"students",
		map:function(){
			emit(this.classid,this.name); 
		},
		reduce:function(key,values){
			var res={classid:key,names:values} 
			return res;
		},
		query:{"age":{"$gt":10}}, 
		finalize:function(key,reducevalues){
			var obj={};
			obj.keyname=key;
			obj.values=reducevalues.names;
			return obj;
		},
		out:"test_mp2" 
	})





db.runCommand({
		mapreduce:"students",
		map:function(){
			emit(this.classid,this.name); 
		},
		reduce:function(key,values){
			return values.length;
		},
		query:{"age":{"$gt":10}},
		out:"test_mp2" 
	})



针对第二个统计步骤为:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值