`
chenhua_1984
  • 浏览: 1250324 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Mongodb mapreduce 例子

阅读更多
                                mongodb mapreduce

    mapReduce 其实是一种编程模型,用在分布式计算中,其中有一个“map”函数,一个”reduce“函数。

    ① map:

          这个称为映射函数, 里面会调用 emit(key,value), 集合会按照你指定的 key

          进行映射分组。

    ② reduce:

         这个称为简化函数,会对 map 分组后的数据进行分组简化,注意:在reduce(key,value)中的 key 就是

         emit 中的 key,vlaue 为 emit 分组后的 emit(value)的集合,这里也就是很

         多{"count":1}的数组。

    ③ mapReduce:

         这个就是最后执行的函数了,参数为 map,reduce 和一些可选参数

      

> db.person.insert({"name":"hxc","age":20});
> db.person.insert({"name":"hxc","age":24});
> db.person.insert({"name":"zj1","age":34});
> db.person.insert({"name":"xx","age":32});
> db.person.insert({"name":"abcdweb","age":32});
> db.person.insert({"name":"abcdweb","age":32});
> db.person.insert({"name":"xx","age":32});

> var map = 
  function(){
	emit(this.name,{count:1});

  }

> var reduce =
  function (key,value){
	var result={count:0};
        for(var i=0;i<value.length;i++){
	 result.count +=value[i].count;
	
	}
	return result;
  }

> db.person.mapReduce(map,reduce,{"out":"collection"});

> db.collection.find();

 

 

       result: "存放的集合名“;

       input:传入文档的个数。

       emit:此函数被调用的次数。

       reduce:此函数被调用的次数。

       output:最后返回文档的个数。

 

分享到:
评论

相关推荐

    MongoDB中MapReduce的使用方法详解

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

    MongoDB中的MapReduce简介

    MongoDB的MapReduce功能是基于分布式计算模型的一种数据处理方式,它允许用户在数据库中进行大规模数据处理。MapReduce的核心思想是将复杂的数据处理任务分解为两个主要阶段:Map阶段和Reduce阶段。 Map阶段是数据...

    阿里云emr spark kafka redis MongoDB例子demo

    在这个"阿里云EMR spark kafka redis MongoDB例子demo"中,我们看到了如何整合这些技术,构建一个实时数据处理系统,从Kafka获取数据,利用Spark Streaming进行实时分析,然后将结果存储到Redis和MongoDB,实现了...

    MongoDB in action 源码

    8. MapReduce:虽然现代MongoDB推荐使用聚合框架,但MapReduce仍然是一种处理大数据的手段,用于批量数据处理和分析。 9. 安全性:MongoDB支持用户认证、角色权限控制和加密通信,保障数据安全。 10. 应用集成:...

    MongoDB实战第二版例子源码

    在《MongoDB实战第二版》这本书中,作者通过一系列实际的JavaScript代码例子,深入浅出地介绍了如何使用MongoDB进行数据存储、查询、更新和删除等操作。现在,我们将对这些例子进行详细的解析和探讨。 MongoDB的...

    mogodb mapreduce方法

    MongoDB的MapReduce是一种强大的数据分析工具,用于处理和聚合大量数据。它借鉴了函数式编程的概念,通过两个主要函数——`map`和`reduce`,以及可选的`finalize`函数,来对数据库中的数据进行复杂的操作。在这个...

    MongoDB、Java与对象关系映射

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

    MongoDB数据库:MongoDB与微服务架构集成

    下面是一个使用Python的pymongo库连接MongoDB的例子,展示如何插入和查询文档: ```python # 导入pymongo库 from pymongo import MongoClient # 连接到MongoDB client = MongoClient('localhost', 27017) db = ...

    第一课:mongoDb快速入手1

    此外,MongoDB 支持索引,以提高查询性能,同时也提供了聚合框架(aggregation framework)和 mapReduce 功能,用于数据处理和分析。 在应用场景方面,MongoDB 适用于数据模型简单、需求变化频繁的项目。例如,在...

    第二课:mongodb企业级应用管理1

    在MongoDB中,聚合有两种主要形式:Pipeline聚合和MapReduce聚合。 1. Pipeline聚合: - `$match`:用于过滤输入文档,只保留满足特定条件的文档。 - `$project`:用于选择要包含在输出文档中的字段,以及转换...

    MongoDB创建用户

    MongoDB 是一个功能强大且灵活的 NoSQL 数据库,它提供了许多有用的特性和功能,例如数据存储、索引、查询、聚合、MapReduce 等。然而,在实际应用中,安全性是非常重要的一个方面,MongoDB 提供了多种方式来保护...

    PHP操作MongoDB时的整数问题及对策说明

    这个例子展示了如何使用MapReduce对`test`集合进行分组并计算`count`字段的总和,避免了`group`操作的问题。 需要注意的是,这些解决方案适用于特定的软件版本。在本例中,使用的MongoDB版本为1.6.5,PECL Mongo...

    Mongoika:MongoDB Clojure库

    Mongoika简化了构建行为,使其表现得像惰性序列,并使用Mongo Java驱动程序支持基本操作MapReduce和GridFS。 例子 ; ; Use mongoika namespace. ( use 'mongoika) ; ; Connect to a MongoDB server. ( with-mongo...

    mongodb聚合_动力节点Java学院整理

    本文将详细介绍MongoDB中的聚合操作,包括`count`、`distinct`、`group`以及相对复杂的`mapReduce`,并简要介绍游标的概念。 ### 1. 聚合操作 #### (1) `count` `count`方法用于统计集合中的文档数量,非常直观且...

Global site tag (gtag.js) - Google Analytics