我正在使用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).