mapReduce 随着"大数据"概念而流行.

其实mapReduce的概念非常简单,

从功能上说,相当于RDBMS的 group 操作

mapReduce的真正强项在哪?

答:在于分布式,当数据非常大时,像google,有N多数据中心,

数据都不在地球的一端,用group力所不及.

group既然不支持分布式,单台服务器的运算能力必然是有限的.

而mapRecuce支持分布式,支持大量的服务器同时工作,

用蛮力来统计.

mapRecuce的工作过程:

① map:

这个称为映射函数,里面会调用emit(key,value),集合会按照你指定的key进行映射分组。

② reduce:

这个称为简化函数,会对map分组后的数据进行分组简化,注意:在reduce(key,value)中的key就是emit中的key,value为emit分组后的emit(value)的集合,把数组(同一组)的数据,进行运算.

用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'});

结果保存到“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'});

转载于:https://www.cnblogs.com/yxlblogs/p/4967028.html

MongoDB聚合运算之mapReduce函数的使用(11)相关推荐

  1. MongoDB聚合运算之group和aggregate聚集框架简单聚合(10)

    聚合运算之group 语法: db.collection.group( { key:{key1:1,key2:1}, cond:{}, reduce: function(curr,result) { ...

  2. MongoDB系列--深入理解MongoDB聚合(Aggregation )

      MongoDB中聚合(aggregate) 操作将来自多个document的value组合在一起,并通过对分组数据进行各种操作处理,并返回计算后的数据结果,主要用于处理数据(诸如统计平均值,求和等 ...

  3. limit mongodb 聚合_MongoDB 统计 group 操作用不了,试试 mapReduce 吧

    问题回顾 今天,同事小张 Q 我, 说自己辛苦花了一天的时间,基于 mongodb 数据库开发的待办统计功能一直报错! 于是笔者花了近半小时了解小张的开发需求以及代码实现方式,大致明白问题出在对待办 ...

  4. MongoDB聚合查询 Pipeline 和 MapReduce

    MongoDB聚合查询 MongoDB聚合查询 什么是聚合查询 Pipeline聚合管道方法 聚合流程 详细流程 聚合语法 常用聚合管道 $count $group $match $unwind $p ...

  5. 快速掌握mongoDB(二)——聚合管道和MapReduce

    上一节简单介绍了一下mongoDB的增删改查操作,这一节将介绍其聚合操作.我们在使用mysql.sqlserver时经常会用到一些聚合函数,如sum/avg/max/min/count等,mongoD ...

  6. C# 中奇妙的函数–6. 五个序列聚合运算(Sum, Average, Min, Max,Aggregate)

    今天,我们将着眼于五个用于序列的聚合运算.很多时候当我们在对序列进行操作时,我们想要做基于这些序列执行某种汇总然后,计算结果. Enumerable 静态类的LINQ扩展方法可以做到这一点 .就像之前 ...

  7. MongoDB 聚合操作

    MongoDB 聚合操作 在MongoDB中,有两种方式计算聚合:Pipeline 和 MapReduce.Pipeline查询速度快于MapReduce,但是MapReduce的强大之处在于能够在多 ...

  8. limit mongodb 聚合_MongoDB 聚合操作(转)

    在MongoDB中,有两种方式计算聚合:Pipeline 和 MapReduce.Pipeline查询速度快于MapReduce,但是MapReduce的强大之处在于能够在多台Server上并行执行复 ...

  9. MongoDB 聚合管道

    MongoDB 聚合管道 聚合管道概述 需要注意的几个问题: 聚合管道操作符 聚合管道的使用 $project 指定文档显示的方式 连接字段$concat用于连接字符串(参数必须是字符串类型数组) 对 ...

  10. mongodb聚合查询优化_MongoDB聚合查询详解

    聚合操作主要用于处理数据并返回计算结果.聚合操作将来自多个文档的值组合在一起,按条件分组后,再进行一系列操作(如求和.平均值.最大值.最小值)以返回单个结果. MongoDB 提供了三种执行聚合的方法 ...

最新文章

  1. 基于STC8G1K17的信号转换方案
  2. 鸿蒙系统突破,华为解锁新成就!新系统用户突破1亿,鸿蒙系统也传来了新消息...
  3. 《深入理解JVM.2nd》笔记(一):走进Java
  4. mysql 单块读 多块读_dbfilesequentialread等待事件
  5. 解决 Beyond Compare 3 许可证密钥被撤销
  6. python顺序结构的关键字_Python相关数据结构的排序
  7. linux 配置ssh免密码登录脚本
  8. My Feedback for Windows 10 IoT Core on Feedback Hub App (4/1/2017-1/23/2018)
  9. 转 未能使用提供程序 RsaProtectedConfigurationProvider 进行解密 的解决办法
  10. 新手购买单反终极攻略--谈谈现场验机的要领与要点
  11. 10.24程序员节日快乐
  12. 目前最火热的创新创业项目有哪些?
  13. uni-app 支付宝小程序授权,获取用户基础信息(头像图片地址、昵称、性别、国家码、省份、所在市区)
  14. MHDD修复UNC和TIMEOUT
  15. TensorFlow在win10上安装--精简教程
  16. 网工知识角-思科华为的网络工程师常用工具盘点
  17. NTFS 之 LCN,VCN
  18. 浅谈伺服电机三种控制方式
  19. 【python】openpyxl常用方法
  20. @Primary 使用

热门文章

  1. Spring boot 2.1版本、2.3及以上版本使用actuator实现优雅关闭程序
  2. 解决Mysql安装之后没有my.ini配置文件问题
  3. gdal-3.1.2-release下载页面出错
  4. 获取js文件后的参数
  5. Python selenium报错:selenium.common.exceptions.ElementClickInterceptedException
  6. 基于C++11实现线程池的工作原理
  7. 计算机组成原理时序电路报告,时序电路实验报告
  8. (day 52 - 先序后序遍历计数 ) 剑指 Offer 55 - II. 平衡二叉树
  9. 服务中没有listen_Odoo 中的 IM(即时通讯)实现分析
  10. python 持续集成 教程_dotnet 部署 github 的 Action 进行持续集成|简明python教程|python入门|python教程...