我有一个map reduce工作,似乎总是挂在一个文件上。我怀疑我的地图功能会以某种方式将其抛向无限循环,但我无法弄清楚如何。有没有办法弄清楚哪个文件被挂起?理想情况下以某种方式调试它?
答案 0 :(得分:1)
您可以在地图功能中初始化一个足够大的计数器。如果循环到达计数器然后退出循环并使用特殊键(不会减少更好)和当前文档内容发出。您可以使用此(这些)特殊键在结果集合中找到此文档。
答案 1 :(得分:0)
有没有办法弄明白哪个文件是挂在上的文件
利用print()
功能打印当前正在处理的文档的_id
,在Map()
函数之前发布:
var map = function() {
print("Mapping "+this._id);
emit(this._id, this.value);
};
理想情况下以某种方式调试
mongodb中java脚本的客户端调试语句console.log()
的等价物是print()
语句。它应该用于调试目的。
参考:http://docs.mongodb.org/manual/tutorial/troubleshoot-map-function/