zoukankan      html  css  js  c++  java
  • 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来实现,所以非常方便

  • 相关阅读:
    shell 脚本判断linux 的发行版本
    notepad++ 正则学习记录
    360 加固分析
    Android的静默安装
    Linux下调整根目录的空间大小
    linux 隐藏权限
    i针对网段开放端口 (命令行设置)
    python 删除文件/夹
    字符串截取
    echo 不换行
  • 原文地址:https://www.cnblogs.com/QuixoteY/p/11127652.html
Copyright © 2011-2022 走看看