我是 mongoDb 的新手,并计划使用 map reduce 来计算大量数据。如您所知,我们有 map 函数来匹配标准,然后为给定的字段发出所需的数据。在我的地图功能中,我有多个发射。截至目前,我从一个文档中发出了 50 个字段。这意味着从集合中的单个文档会爆炸到临时表中的 40 个文档。因此,如果我有 100 万个文档要处理,则在 map 函数结束时临时表中将有 100 万 * 40 个文档。
下一步是对该集合进行排序。(我没有使用 map 的排序参数会有帮助吗?)
考虑将 map 函数一分为二……但是还有一个问题……在执行 map 函数时,如果我偶然遇到一个异常,想跳过整个文档数据(即不从该文档发出任何数据),但是如果我拆分我将无法……
在 mongoDB.org 我发现一条评论说...“当我运行 MR 作业时,排序 - 在 MR 的第一阶段需要 1.5 天才能达到 23%。当我运行 MR 作业时,没有排序,大约需要 24所有工作 -36 小时。此外,当关闭 jsMode 时,我的 MR 会加速两次(在我关闭排序之前)“
启用排序有帮助吗?或者关闭 jsmode 有帮助吗?我正在使用 mongo 2.0.5
有什么建议吗?
在此先感谢.G