package com.mongodb.hadoop.streaming.io; import com.mongodb.hadoop.io.BSONWritable; import com.mongodb.hadoop.io.MongoUpdateWritable; import org.apache.hadoop.streaming.io.IdentifierResolver; public class MongoIdentifierResolver extends IdentifierResolver { public static final String MONGODB_ID = "mongodb"; public static final String MONGO_ID = "mongo"; public static final String BSON_ID = "bson"; public static final String MONGODB_UPDATE = "mongoUpdate"; @Override public void resolve(final String identifier) { if (identifier.equalsIgnoreCase(MONGODB_ID) || identifier.equalsIgnoreCase(MONGO_ID) || identifier.equalsIgnoreCase(BSON_ID)) { setInputWriterClass(MongoInputWriter.class); setOutputReaderClass(MongoOutputReader.class); setOutputKeyClass(BSONWritable.class); setOutputValueClass(BSONWritable.class); } else if (identifier.equalsIgnoreCase(MONGODB_UPDATE)) { setInputWriterClass(MongoUpdateInputWriter.class); setOutputReaderClass(MongoUpdateOutputReader.class); setOutputKeyClass(BSONWritable.class); setOutputValueClass(MongoUpdateWritable.class); } else { super.resolve(identifier); } } }