Я видел вопросы, связанные с сохранением вывода Hadoop HDFS в MongoDB, но я не видел, как я могу сохранить свои локальные выходные данные Hadoop в моем локальном БД.
Я знаю, что мне нужно использовать разъем mongodb отсюда: https://github.com/mongodb/mongo-hadoop
Я добавил зависимость в мой файл POM.xml:
<dependency>
<groupId>org.mongodb.mongo-hadoop</groupId>
<artifactId>mongo-hadoop-core</artifactId>
<version>1.5.1</version>
</dependency>
Вот мой класс для выполнения работы:
public static void main(String[] args)
throws IOException, ClassNotFoundException, InterruptedException, InvalidDataException {
Job job = new Job();
job.setJarByClass(hadoop.TwitterJob.class);
job.setJobName("Inverted Index for Twitter Data");
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path("src/output/")); // change this to output to mongodb
job.setMapperClass(InvertedIndexMapper.class);
job.setReducerClass(hadoop.InvertedIndexReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
job.waitForCompletion(true);
}
}
Кто-нибудь знает, как я могу напрямую выводить на mongodb локально? Спасибо