您当前的位置: 首页 >  小志的博客 mongodb

MongoDB——聚合操作之MapReduce

小志的博客 发布时间:2022-04-26 22:33:22 ,浏览量:4

目录

    • 一、MapReduce的概述
    • 二、MapReduce的阶段
    • 三、MapReduce的基本语法
    • 四、MapReduce示例
      • 4.1、 数据准备
      • 4.2、 MapReduce示例

一、MapReduce的概述

  • MapReduce操作将大量的数据处理工作拆分成多个线程并行处理,然后将结果合并在一起。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。

二、MapReduce的阶段

  • MapReduce具有两个阶段:
    (1)、将具有相同Key的文档数据整合在一起的map阶段;
    (2)、组合map操作的结果进行统计输出的reduce阶段。

三、MapReduce的基本语法

  • 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可选筛选数据的条件,筛选的数据送入map
    sort排序完后,送入map
    limit限制送入map的文档数
    finalize可选,修改reduce的结果后进行输出
    scope可选,指定map、reduce、finalize的全局变量
    jsMode可选,默认false。在mapreduce过程中是否将数 据转换成bson格式。
    verbose可选,是否在结果中显示时间,默认false
    bypassDocmentValidation可选,是否略过数据校验
  • MapReduce图解

四、MapReduce示例

4.1、 数据准备

  • 准备数据集,执行脚本

    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()
    

关注
打赏
查看更多评论

小志的博客

暂无认证

  • 4浏览

    0关注

    1100博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录