Mongodb MapReduce
来源:互联网 发布:为什么java比php工资高 编辑:程序博客网 时间:2024/04/29 14:42
MongoDB的MapReduce相当于MySql的“group by”,所以在MongoDB上使用Map/Reduce进行并行统计比较容易。
使用MapReduce要实现两个函数Map函数和Reduce函数,Map函数使用emit(key,value),遍历collection中的所有的记录,将key和value传递给Reduce函数进行处理。Map函数和Reduce函数可以使用JavaScript来实现,可以通过db.runCommand或mapReduce命令来执行一个MaoReduce的操作:
db.runCommand(
{mapreduce:<colleciont>,
map:<mapfunction>,
reduce:<reducefunction>
[,query:<query filter object>]
[,sort:<sorts the input objects using this key. Useful for optimization, like sorting by thie emit key for fewer reduces>]
[,kunut:<number of objects to return from collection>]
[,out:<see output options below>]
[,keeptemp:<true|false>]
[,finalize:<finalizefunction>]
[,scope:<object where fields to into javascript global scope>]
[,verbose:true]
}
};
参数说明:
mapreduce:要操作的目标集合。
map:映射函数(生成键值对序列,作为reduce函数参数)。
reduce:统计函数。
query:目标记录过滤。
sort:目标记录排序。
limit:限制目标记录的数量。
out:统计结果存放集合(不知道ing则使用临时集合,客户端断开后自动删除)。
keeptemp:是否保留临时集合。
finalize:最终处理函数(对reduce返回结果进行最终整理后存入结果集合)。
scope:向map、reduce、finalize导入外部变量。
verbose:显示详细的时间统计信息。
Map函数使用emit(key,value)返回键值对,使用this访问当前待处理的Document。
Reduce函数姐都的参数类似Group效果,将Map返回的键值序列组合成{key,[value1,value2,value3,value4]}传递给reduce。reduce函数对这些values进行统计操作,返回结果可以使用JSON Object。
利用finalize()我们可以对reduce()的结果做进一步处理。
- Mongodb MapReduce
- MongoDB MapReduce
- Mongodb(mapreduce)
- mongodb mapReduce
- mongodb mapreduce
- MongoDB MapReduce
- MongoDB MapReduce
- mongoDB mapReduce
- Mongodb Mapreduce 初窥
- MongoDB mapReduce 实例
- Mongodb Mapreduce 初窥
- MongoDB mapReduce使用
- Mongodb Mapreduce 初窥
- MapReduce(MongoDB)
- 熟悉 MongoDB MapReduce
- mongodb的mapreduce
- Mongodb Mapreduce 初窥
- 用MongoDB实现MapReduce
- Windows Xp + IIS + PHP 环境搭建
- ubuntu 新建用户心得
- 利用OpenCV实现图像纹理特征提取
- 服务器相关技术调研
- 基于内容的推荐系统概述
- Mongodb MapReduce
- Davinci DM6446开发攻略——linux-2.6.18移植
- sctp test
- 0011 认识理解Java中native方法【基础】
- CentOS Linux安装RPMForge源
- j2ee期末复习概要
- [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- ssh框架
- malloc()与calloc区别