目录
一、MapReduce的概述
- 一、MapReduce的概述
- 二、MapReduce的阶段
- 三、MapReduce的基本语法
- 四、MapReduce示例
- 4.1、 数据准备
- 4.2、 MapReduce示例
- MapReduce操作将大量的数据处理工作拆分成多个线程并行处理,然后将结果合并在一起。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。
- MapReduce具有两个阶段: (1)、将具有相同Key的文档数据整合在一起的map阶段; (2)、组合map操作的结果进行统计输出的reduce阶段。
-
MapReduce语法格式
db.collection.mapReduce( function() {emit(key,value);}, //map 函数 function(key,values) {return reduceFunction}, //reduce 函数 { out: , query: , sort: , limit: , finalize: , scope: , jsMode: , verbose: , bypassDocumentValidation: } )
-
MapReduce语法解释
函数解释map将数据拆分成键值对,交给reduce函数reduce根据键将值做统计运算out可选,将结果汇入指定表quey可选筛选数据的条件,筛选的数据送入mapsort排序完后,送入maplimit限制送入map的文档数finalize可选,修改reduce的结果后进行输出scope可选,指定map、reduce、finalize的全局变量jsMode可选,默认false。在mapreduce过程中是否将数 据转换成bson格式。verbose可选,是否在结果中显示时间,默认falsebypassDocmentValidation可选,是否略过数据校验 -
MapReduce图解
-
准备数据集,执行脚本
var tags = ["nosql","mongodb","document","developer","popular"]; var types = ["technology","sociality","travel","novel","literature"]; var books=[]; for(var i=0;i db.books_favCount.find()