`

MongoDB与mapreduce

 
阅读更多

Mongodb可以实现MapReduce,用于完成count,distinct,group by等聚合函数的功能,此外还有其他功能。

MapReduce开始是将操作映射到mongodb集合中的每一个文档,这个操作要么什么都不做,要么产生一些键和N个值,然后按照键分组,将相同键对应值的值组成列表,放到对应的键的值中。最后进行化简,把键对应的列表中的值化简成一个单一的值。这个值被返回,接着进行洗牌,直到每个键的列表只有一个值为止,这个值也就是最后结果。

mongodb中map函数通过emit返回要处理的值。

例如:

map = function(){

    for(var key in this){

       emit(key,{count:1});

   }

}

 this就是当前映射文档的引用。

reduce = function(key,emits){

    total = 0;

    for(var i in emits){

       total += emits[i].count;

    }

       return {"count":total}

}

上述示例实现了常见的wordcount

调用如下:

mr = db.runCommand({"mapreduce":"foo","map":map,"reduce":reduce})

 

 

分享到:
评论

相关推荐

    MongoDB的MapReduce.pdf

    MongoDB的MapReduce是一种在大型数据集上进行并行计算的编程模型,尤其适用于数据分析任务。MapReduce由Google提出,其灵感来源于函数式编程语言中的Map和Reduce概念,旨在简化分布式计算,使得开发者无需深入理解...

    计算机后端-PHP视频教程. mongodb10 MapReduce 统计栏目下的商品.wmv

    计算机后端-PHP视频教程. mongodb10 MapReduce 统计栏目下的商品.wmv

    MongoDB中MapReduce的使用方法详解

    MongoDB的MapReduce是一种强大的工具,用于处理和分析大量数据,尤其适合于复杂的数据聚合任务。MapReduce的工作原理是将大规模数据集分解成小块,分别在不同的节点上执行计算,然后将结果合并以得到最终答案。在...

    MongoDB MapReduce分享.ppt

    在这个“MongoDB MapReduce 分享”中,我们将深入探讨 MapReduce 在 MongoDB 中的应用及其核心概念。 MapReduce 包含两个主要函数:Map 和 Reduce。Map 阶段负责将输入数据分解成小块,然后对每一块应用一个函数,...

    MongoDB与Hadoop MapReduce的海量非结构化数据处理方案.pdf

    MongoDB与Hadoop MapReduce的海量非结构化数据处理方案 本文旨在探索基于MongoDB与Hadoop MapReduce的海量非结构化数据处理方案,旨在解决大数据时代下的数据处理难题。该方案通过MongoDB Cluster、MongoDB-...

    MongoDB中的MapReduce简介

    MongoDB中的MapReduce是一种分布式计算模型,用于处理和分析海量数据。MapReduce包含两个主要阶段:Map阶段和Reduce阶段,这两个阶段共同实现了数据处理的并行化,从而提高处理效率。 Map阶段的主要任务是将原始...

    计算机后端-PHP视频教程. mongodb09 MapReduce 概念.wmv

    计算机后端-PHP视频教程. mongodb08 导出导入.wmv

    mongodb mapreduce 实例

    MongoDB的MapReduce是一个强大的工具,它允许用户在数据库中执行复杂的聚合操作,尤其是处理大数据集时。在这个实例中,我们将探讨如何利用MapReduce来统计订单数据,这在电子商务平台如“CShop”中是非常常见的需求...

    MongoDB中MapReduce编程模型使用实例

    MongoDB是一个高性能、开源、无模式的文档导向数据库,由C++编写而成,支持MapReduce编程模型,MapReduce是一种计算模型,用于处理大规模数据集的并行运算。在MongoDB中,MapReduce主要用于执行复杂的数据聚合操作,...

    MongoDB-MapReduce:大学项目

    然后我使用以下命令将文件中的所有单词导入到 MongoDB 数据库中: time mongoimport --type csv -c Words --file word_list.txt --headerline ##### 操作时间:0.758 秒。 ### 搜索字谜 为了查找字谜,我编写,...

    MongoDB简介与实践.pdf

    与关系型数据库不同的是,MongoDB支持文档级别的更新操作(in-place update),以及自动的分片(Auto-sharding)和MapReduce计算模式。 8. MongoDB数据模型: MongoDB使用的是集合(Collection)作为存储数据的容器...

    Pentaho Analytics for MongoDB Cookbook(2015)随书代码

    Chapter 7可能讲解了如何利用Pentaho与MongoDB的MapReduce接口进行数据处理,包括编写Map和Reduce函数、处理中间结果和输出格式化。 5. **实时分析与聚合框架**: Chapter 8可能涉及MongoDB的聚合框架,这是一种用于...

    MongoDB、Java与对象关系映射

    MongoDB不仅提供了高性能的数据访问,而且还支持高级功能,如索引、分片(sharding)、复制(replication)和MapReduce等,这些特性使其成为处理大规模数据的理想选择。此外,MongoDB拥有一个庞大且活跃的社区,这...

    NoSQL主流数据库-MongoDB.pptx

    * 支持 MapReduce:MongoDB 支持 MapReduce 操作,可以对大量数据进行分布式处理。 MongoDB 的缺点包括: * 不支持事务:MongoDB 不支持事务操作,可能会导致数据不一致的问题。 * 不支持JOIN操作:MongoDB 不支持...

    MongoDB学习笔记之MapReduce使用示例

    MongoDB的MapReduce是一个强大的工具,它允许开发者处理和聚合大量数据。MapReduce基于一种分布式计算模型,将大规模数据处理任务分解为两步:Map(映射)和Reduce(归约)。在这个过程中,MongoDB首先应用Map函数...

Global site tag (gtag.js) - Google Analytics