mongo的MR可以将结果写入另一个分片集合吗?

时间:2012-05-07 21:07:06

标签: mongodb mapreduce bigdata nosql

根据Mongo MR文档(http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-ShardedEnvironments),分片数据上MR作业的输出可以将结果写入另一个分片集合,但只有_ID可以用作分片键。

有没有办法发出或设置将分配给结果文档的_ID?假设使用UserID或CustomerNo本身用作分片键?

1 个答案:

答案 0 :(得分:0)

Map-Reduce生成的文档中的_id与您在映射阶段emit(...)中使用的密钥相同。它可以是任何类型,包括(子)文档,但它始终作为最终文档中的_id字段出现。

如果您使用除ObjectId之外的某个自定义值作为_id的值而有目标(分片)集合,则可以使用分片map-reduce和输出到该集合中。

分片map-reduce也有一些限制,特别是map-reduce不会触发分割或迁移,并且不支持limit选项。