[MongoDB]mapReduce
摘要
上篇文章介绍了count,group,distinct几个简单的聚合操作,其中,group比较麻烦一点。本篇文章将学习mapReduce的相关内容。
相关文章
bat
今天突然发现,每次开启mongodb服务端和客户端,太频繁了。所以想了一个办法,把它们弄成批处理命令了。
开启server
@echo off
start cmd /k "cd/d C:\Program Files\MongoDB\Server\3.2\bin&&mongod"
执行后

启动client
@echo off
start cmd /k "cd/d C:\Program Files\MongoDB\Server\3.2\bin&&mongo"
执行后

这里一个小插曲,有些事情,重复做没必要,能省力就省力了。当然有些mongodb可视化客户端工具,更方便。之后将介绍几款常用的工具。
mapReduce
MapReduce这个函数,也是聚合函数的一种,为什么把它单独的列出来,就因为它太复杂了跟group有的一拼。
其实该函数也比较容易记,因为它有两个参数,一个是map,另一个就是Reduce
map
映射函数,在该函数中会调用emit(key,value),集合会按照你指定的key进行映射分组。
reduce
简化函数,会对map分组后的数据进行分组简化,reduce(key,value)中的key就是emit中的key,vlaue为emit分组后的emit(value)的集合。

result:存入的集合名称。
input:传入的document的个数。
reduce:此函数被调用的次数。
emit:此函数被调用的次数。
output:输出的结果个数。
然后就可以在result上面进行查询按name分组后的结果了。
关于cmd中输入命令换行的问题,这里也简单的介绍一下,比如上面的map和reduce函数非常长,那么我们可以进行换行进行输入,技巧:输入的时候,不要输入结束符号就可以,比如function的结束符号为},只要不输人},回车的时候,会打印...,这个时候你可以接着输入。
我们通过换行进行上面的mapReduce操作。

这样看着更舒服了。
总结
关于mapReduce的内容,非常多,这里只是列举了mapReduce的使用方法。更多的内容可以参考下面的文章
http://www.cnblogs.com/daizhj/archive/2010/06/10/1755761.html
http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html
http://www.cnblogs.com/loogn/archive/2012/02/09/2344054.html
[MongoDB]mapReduce的更多相关文章
- MongoDB MapReduce(转)
MapReduce MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE).这样做的好处是可以在任务被分解后,可以通过大量机 ...
- mongodb mapreduce使用总结
文章来自本人个人博客: mongodb mapreduce使用总结 大家都知道,mongodb是一个非关系型数据库.也就是说.mongodb数据库中的每张表是独立存在的,表与表之间没有不论什么依赖 ...
- MongoDB MapReduce学习笔记
http://cnodejs.org/topic/51a8a9ed555d34c67831fb8b http://garyli.iteye.com/blog/2079158 MapReduce应该算是 ...
- 用C#感受MongoDB MapReduce之魅力 转
MapReduce这个名词随着hadoop的用户的增多,越来越被人关注.MapReduce可谓MongoDB之中的亮点,我也想深入了解MapReduce,加上MongoDB操作简单,所以就选择了它.M ...
- MongoDB MapReduce用法简介
Map-Reduce部分:Map-Reduce相当于关系型数据库中的group by,主要用于统计数据之用.MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用. 语法 db ...
- MongoDB:MapReduce基础及实例
背景 MapReduce是个非常灵活和强大的数据聚合工具.它的好处是可以把一个聚合任务分解为多个小的任务,分配到多服务器上并行处理. MongoDB也提供了MapReduce,当然查询语肯定是Java ...
- E QUERY [main] SyntaxError: identifier starts immediately after numeric literal mongodb mapReduce 异常分析 集合命名规范
异常信息 repl_test:PRIMARY> db.0917order_totals_b.find()2018-09-28T15:13:03.992+0800 E QUERY [main] S ...
- mongodb~mapreduce的实现特殊逻辑的统计
map reduce的解释 这是一张来自mongodb-mapreduce图示,比较能说明问题
- MongoDB MapReduce 的示例。
// JavaScript source code db.runCommand({ mapreduce: "page", map: function Map() { emit( t ...
随机推荐
- js base64位和c# Base64位转换
<script> /* 编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码. 它将需要编码的数据拆分成字节数组. 以3个字节为一组.按顺序排列24 位数 ...
- 图像卷积、相关以及在MATLAB中的操作
图像卷积.相关以及在MATLAB中的操作 2016年7月11日 20:34:35, By ChrisZZ 区分卷积和相关 图像处理中常常需要用一个滤波器做空间滤波操作.空间滤波操作有时候也被叫做卷积滤 ...
- 2.头文件<bits/stdc++.h>
用这种方法声明头文件只需两行代码 #include<bits/stdc++.h> using namespace std; 这个头文件包含以下等等C++中包含的所有头文件: #inclu ...
- Ext FileSystem Family、Ext2、Ext3
catalog . 简介 . Ext2文件系统 . Ext3文件系统 . 小结 1. 简介 VFS虚拟文件系统接口和数据结构构成了一个框架,各个文件系统的实现都必须在框架内运转,但这并不要求每个文件系 ...
- Linux Process Management && Process Scheduling Principle
目录 . 引言 . 进程优先级 . 进程的生命周 . 进程表示 . 进程管理相关的系统调用 . 进程调度 . 完全公平调度类 . 实时调度类 . 调度器增强 . 小结 1. 引言 在多处理器系统中,可 ...
- python获取知乎日报另存为txt文件
前言 拿来练手的,比较简单(且有bug),欢迎交流~ 功能介绍 抓取当日的知乎日报的内容,并将每篇博文另存为一个txt文件,集中放在一个文件夹下,文件夹名字为当日时间. 使用的库 re,Beautif ...
- java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)
获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...
- mysql中常用的字符串函数
写在分割线之前,个人以为,数据库应该具备简单的的数据加工能力.如同食品在吃之前,是要经过很多到工序的,有经过初加工.粗加工.精加工.深加工等.那么mysql也应该并必须担任起数据初加工以及粗加工的责任 ...
- 捉襟见肘之message sent to deallocated instance 0x16f62a70
出现的问题(真机ios8到ios9测试没有问题,真机ios7.1出现问题): -- :::60b] *** -[ChatViewController scrollViewDidScroll:]: me ...
- Vijos1921严厉的班长
传送门 在贴吧上看到了这道题,恰好最近在学相关的东西,觉得比较有意思就去做了. 第一眼看上去比较像搜索,其实是道状压DP.我简单讲一下思路: 首先明确,不管之前取了什么数,取1必定满足所有的数之间互质 ...