Вы пробовали MongoInsertStorage?
Вы можете просто загрузить набор данных, используя pig, а затем использовать MongoInsertStorage для выгрузки непосредственно в Mongo.Он запускает группу картографов, которые делают именно то, что упоминается в ответе Дэвида Грузмана на этой странице.Одним из преимуществ этого подхода является параллелизм и скорость, которые вы получаете благодаря одновременной вставке нескольких картографических изображений в коллекцию Mongo.
Вот краткий обзор того, что можно сделать с помощью pig
REGISTER mongo-java-driver.jar
REGISTER mongo-hadoop-core.jar
REGISTER mongo-hadoop-pig.jar
DEFINE MongoInsertStorage com.mongodb.hadoop.pig.MongoInsertStorage();
-- you need this here since multiple mappers could spawn with the same
-- data set and write duplicate records into the collection
SET mapreduce.reduce.speculative false
-- or some equivalent loader
BIG_DATA = LOAD '/the/path/to/your/data' using PigStorage('\t');
STORE BIG_DATA INTO 'mongodb://hostname:27017/db USING MongoInsertStorage('', '');
Больше информации здесь https://github.com/mongodb/mongo-hadoop/tree/master/pig#inserting-directly-into-a-mongodb-collection