根据Mongo MR文档(http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-ShardedEnvironments),分片数据上MR作业的输出可以将结果写入另一个分片集合,但只有_ID可以用作分片键。
有没有办法发出或设置将分配给结果文档的_ID?假设使用UserID或CustomerNo本身用作分片键?
答案 0 :(得分:0)
Map-Reduce生成的文档中的_id
与您在映射阶段emit(...)
中使用的密钥相同。它可以是任何类型,包括(子)文档,但它始终作为最终文档中的_id
字段出现。
如果您使用除ObjectId
之外的某个自定义值作为_id
的值而有目标(分片)集合,则可以使用分片map-reduce和输出到该集合中。
分片map-reduce也有一些限制,特别是map-reduce不会触发分割或迁移,并且不支持limit
选项。