• MapReduce in MongoDB


    MongoDB の MapReduce


    在Hadoop的学习中已经接触过MapReduce了,它是一个很成熟的计算模型,将大批量的工作(也就是数据)分解(MAP映射)执行,最后将结果合并成最终的Reduce.

    MongoDB就提供了一个很灵活的MapReduce

    MapReduce的基本语法

    >db.collection.mapReduce(
       function() {emit(key,value);},  //map 函数
       function(key,values) {return reduceFunction},   //reduce 函数
       {
          out: collection,
          query: document,
          sort: document,
          limit: number
       }
    )
    

    使用Map Reduce需要实现两个函数,Map和Reduce,Map调用了emit(key,value),遍历了collection(也就是表)里面的所有记录,并且将key和value传给reduce函数进行处理

    说明

    • map:映射函数(生成键值对的序列,所谓reduce的参数)
    • reduce统计函数,reduce函数的任务就是将key-values变成key_value(将Values数组变成一个单一的value)
    • out统计结果存放集合(如果不指定的话,会使用临时集合,客户端断开以后就会删除)
    • query是一个筛选条件(不是每个文档都会触发map函数)
    • sort和limit

    做个小测试,往里面插入一点数据试一下

    截图1.png

    collection中的数据如下图所示
    截图3.png
    选取已发布的文章,用user_name分组,使用find函数展示
    截图2.png

    map函数和reduce函数都可以使用JS来实现,所以非常方便

  • 相关阅读:
    Linux下汇编语言学习笔记51 ---
    Linux下汇编语言学习笔记50 ---
    Linux下汇编语言学习笔记47 ---
    Linux下汇编语言学习笔记46 ---
    Linux下汇编语言学习笔记45 ---
    Java奇葩笔试题
    Java奇葩笔试题
    Xcode 5 下的单元测试
    Xcode 5 下的单元测试
    Xcode5 统计单元测试覆盖率(仅限XCTest)
  • 原文地址:https://www.cnblogs.com/QuixoteY/p/11127652.html
Copyright © 2020-2023  润新知