MongoDB的“value too large to reduce”错误

在MongoDB下写了一个map/reduce程序,想针对海量数据按特征归类,因此设计中,reduce后的数据结构是下面这样的:


  1.     _id: "特征"
  2.     value: { data: ["内容1""内容2""内容3", ......] } 

在数据量不大的时候一切正常,当逐渐提高数据量时,比如到了5000万的量级时,出现了下面的13070错误:


  1. Web Dec 19 10:23:11 uncaught exception: map reduce failed: { 
  2.     "errmsg" : "exception: value too large to reduce"
  3.     "code" : 13070, 
  4.     "ok" : 0 

出现这个错误是由于reduce时的value太大了,我的reduce程序中,最终return的是一个数组,当reduce后这个数组过大(据说是超过8MB),就会导致reduce失败,查了查没有什么好的解决方案。目前暂时在reduce时发现数组过长就截断丢弃后面的数据,这样就不再报错了。

 




     本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/1094026,如需转载请自行联系原作者


上一篇:C# 希尔排序


下一篇:RMAN-06056: could not access datafile 8