Сохранять вывод Hadoop на локальный mongodb - PullRequest
0 голосов
/ 11 марта 2019

Я видел вопросы, связанные с сохранением вывода 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 локально? Спасибо

1 Ответ

1 голос
/ 11 марта 2019

С https://github.com/mongodb/mongo-hadoop/blob/master/README.md:

Запись данных в формате .bson, которые затем можно импортировать в любую базу данных MongoDB с помощью mongorestore

С https://github.com/mongodb/mongo-hadoop/wiki/Using-.bson-Files:

Чтобы записать выходные данные задания в файлы .bson, установите для mongo.job.output.format значение com.mongodb.hadoop.BSONFileOutputFormat или используйте MongoConfigUtil.setOutputFormat (com.mongodb.hadoop.BSONFileOutputFormat.class.)

И это, кажется, прямой пример, вы можете проверить это

https://github.com/mongodb/mongo-hadoop/blob/master/examples/sensors/src/main/java/com/mongodb/hadoop/examples/sensors/Devices.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...