文档章节

mongodb的mapreduce学习

y
 ycxcg
发布于 2015/06/16 15:40
字数 394
阅读 14
收藏 0

1.reduce中的非线性  reduce会抵带

     MapReduce中emit后的Bosn的数据格式,一个大于100的Array,会被拆分存储,变成了非线性的链表结构。在reduce中使用 educed.score += val.score 语句可以智能地找到所有子结点的score并相加!

2.Map和reduce 特别关系

如果map中经过emit分组 只有一条数据  则不进入reduce中处理, 可以到finlize中处理

3.参数

db.runCommand(
 { mapreduce : 字符串,集合名,
   map : 函数,m函数
   reduce : 函数,r函数
   [, query : 文档,发往map函数前先给过渡文档]
   [, sort : 文档,发往map函数前先给文档排序]
   [, limit : 整数,发往map函数的文档数量上限]
   [, out : 字符串,统计结果保存的集合]
   [, keeptemp: 布尔值,链接关闭时临时结果集合是否保存]
   [, finalize : 函数,将reduce的结果送给这个函数,做最后的处理]
   [, scope : 文档,js代码中要用到的变量]
   [, jsMode : 布尔值,是否减少执行过程中BSON和JS的转换,默认true] //注:false时 BSON-->JS-->map-->BSON-->JS-->reduce-->BSON,可处理非常大的mapreduce,<br>                                    //true时BSON-->js-->map-->reduce-->BSON
   [, verbose : 布尔值,是否产生更加详细的服务器日志,默认true]
 }
);


out 参数

  • { replace : "collection name" } – 把老数据删除掉,重新加入数据

  • { merge : "collection name" } – 将新老数据进行合并,新的替换旧的,没有的添加进去

  • { reduce : "collection name" } – 存在老数据时,在原来基础上加新数据(

query 参数:

     query : {"event_time": { "$gte" : today_start, "$lte":today_end}, "$or" : [{ "_id.date" : yesterday }, { "_id.date" : today }]},


© 著作权归作者所有

共有 人打赏支持
y
粉丝 0
博文 1
码字总数 394
作品 0
深圳
私信 提问
MongoDB能做稍微复杂一点的统计吗?

比如类似 select sum(*) ,userType from user group by userType 这样的统计. mongodb的groupby必须有主键, 遇到select sum(*) from user就没辙了 而内置的mapreduce官方说不是实时的,不建议...

零点三六
2012/02/13
5K
3
基于 MongoDB 分布式存储进行 MapReduce 并行查询

之前的文章中介绍了如何基于Mongodb进行关系型数据的分布式存储,有了存储就会牵扯到查询。虽然用普通的方式也可以进行查询,但今天要介绍的是如何使用MONGODB中提供的MapReduce功能进行查询...

小编辑
2010/11/25
1K
0
MapReduce初探之一~~基于Mongodb实现标签统计

MapReduce 是一种编程模型,是 Google 提出的一种软件架构,主要应用于分布式系统上。Google对其原始的定义是“ MapReduce is a framework for computing certain kinds of distributable pr...

zhiweiofli
2013/03/06
0
5
PHP与MongoDB:类库、框架与工具介绍

本文来自MongoDB官方,文中把PHP与MongoDB相关的类库、框架、工具做了汇总和介绍,如果你正使用PHP并在关注MongoDB,那么这篇文章可能对你有用。 架构相关 CakePHP CakePHP是一个非常受欢迎的...

kisshua
2012/08/31
0
0
MongoDB:拥有 RDBMS 特性的 NoSQL 数据存储

如果您正在探索 NoSQL 数据库的世界,则 MongoDB(有时被誉为 NoSQL RDBMS)应在您的清单上获得一个位置。了解所有有关 MongoDB 的自定义 API、交互式 shell、RDBMS 类型动态查询的支持、以及...

红薯
2010/12/14
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

nginx中部署vue打包后的静态文件

如何在nginx中部署静态资源就不描述了, 请看我的这篇博客 将vue脚手架项目打包后的静态文件放到nginx上, 发现有个问题, 即url上有#, 怎么去掉这个#呢. 1 项目中router的mode 路由的mode要为h...

克虏伯
6分钟前
1
0
JS容易理解错误的地方

在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {};2 function sayHello(hi) { ...

器石_
8分钟前
0
0
Java开发学习--MongoDB

之前只学过sql,第一次使用非关系型数据库。以前对于关系型数据库与非关系型数据库的概念很模糊,通过这次的学习对这两者有了一个清晰的概念。 主键 在MongoDB中,主键名叫"_id",如果在生成...

微笑向暖wx
11分钟前
0
0
Java8-2-Lambda表达式实战-一句话实现Map中按照Value排序

今天我们来实战一把, 对Map的Value值排序进行简化. 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群...

编程SHA
14分钟前
0
0
Vue中img的src属性绑定与static文件夹

1、其中有一个叫做static的文件夹,尝试将logo.png放入这个文件夹,然后修改imgUrl: imgUrl = '/static/logo.png' 成功读取到了logo.png. 执行npm run build后查看dist文件,发现logo.png原...

小黑202
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部