MongoDB文档翻译-Map Reduce与分片集合
2017-03-15 22:24
344 查看
英文原文地址:https://docs.mongodb.com/v3.2/core/map-reduce-sharded-collections/。
本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。
要输出到一个分片集合:
若分片集合不存在,MongoDB创建该集合,然后在_id字段上对集合分片。
对于新的或者空的分片集合,MongoDB使用map-reduce操作的第一个阶段的结果来创建分布在分片中的初始块。
注意:
在后面的map-reduce作业中,MongoDB按需分割块
在后处理过程中,对输出集合的块平衡调节自动是阻止的,以避免并发问题。
本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。
Map-Reduce与分片集合
Map-reduce支持在分片集合上操作,既可以作为输入,也可以作为输出。该篇文章描述了对分片集合特有的mapReduce行为。分片集合作为输入
当使用分片集合作为map-reduce的输入时,mongos会自动并行地把map-reduce任务分配给各个分片。并不需要指定特别的选项,
mongos会等待所有分片完成任务。
分片集合作为输出
如果mapReduce的
out字段有分片值,MongoDB会用_id字段作为分片键对输出集合分片。
要输出到一个分片集合:
若分片集合不存在,MongoDB创建该集合,然后在_id字段上对集合分片。
对于新的或者空的分片集合,MongoDB使用map-reduce操作的第一个阶段的结果来创建分布在分片中的初始块。
mongos并行地把map-reduce后处理任务分配给拥有该块的每个分片。在后处理中,每个分片将会从其他分片中拉取它这个块的结果,运行最终的reduce,然后把输出集合写入到本地。
注意:
在后面的map-reduce作业中,MongoDB按需分割块
在后处理过程中,对输出集合的块平衡调节自动是阻止的,以避免并发问题。
相关文章推荐
- MongoDB文档翻译-聚集-聚集管道与分片集合
- MongoDB文档翻译-引言-数据库和集合
- MongoDB文档翻译-Map Reduce的并发
- mongodb入门-2 文档、集合、数据库
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- NHibernate文档翻译 第5章----集合类(Collections)映射
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- MongoDB学习笔记(四)MongoDB查询集合中的文档
- MongoDB_Java连接mongo 使用Java从集合中删除文档
- MongoDB初识之数据库、集合、文档
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- SCALA 集合框架文档翻译-Concrete Immutable Collection Classes
- MongoDB_Java连接mongo 使用Java程序更新集合中的文档
- SCALA 集合框架文档翻译-The sequence traits Seq, IndexedSeq, and LinearSeq
- MongoDB 数据库、集合创建删除与文档插入
- 13、MongoDB的分片,以及分布式的实现(分片,拆分的是集合,不是单条数据)
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- Mongodb数组操作$(update)、$占位符更新嵌套数组、嵌套文档集合
- MongoDB文档翻译-mongo Shell-使用mongo Shell帮助