我正在使用MongoTool运行器将数据从mongoDB导入Hadoop mapreduce作业。由于数据的大小,我得到OutOfMemoryError。所以我想限制我以批处理方式获取的记录数。

MongoConfigUtil.setQuery()

只能设置查询,但我不能设置大小来限制获取的记录数。我正在寻找的是像

MongoConfigUtil.setBatchSize()
然后
MongoConfigUtil.getNextBatch()

这样的事情。

请提示。

最佳答案

您可以使用MongoInputSplit类的setLimit方法,传递要获取的文档数。

myMongoInputSplitObj = new MongoInputSplit(*param*)
myMongoInputSplitObj.setLimit(100)

MongoConfigUtil setLimit
Allow users to set the limit on MongoInputSplits (HADOOP-267).

10-06 07:03