Как вызвать метод сокращения карты в нормальном проекте java и можно ли вернуть результат редуктора как Arraylist/Hashmap вместо плоского файла и как получить доступ к методу mapreduce из jboss appServer.MapReduce output как ArrayList
ответ
Вот пример программы, которая использует MultipleOutput
public void reduce(Text key, Iterator<IntWritable> values,
OutputCollector<Text, IntWritable> output, Reporter reporter)
throws IOException {
int total = 0;
for (; values.hasNext();) {
total += values.next().get();
mos.getCollector("text", reporter).collect(key,
new IntWritable(total));
mos.getCollector("seq", reporter).collect(key,
new IntWritable(total));
}
}
Вы должны были бы создать экземпляр MultipleOutputs в методе конфигурирования.
private MultipleOutputs mos;
@Override
public void configure(JobConf job) {
mos = new MultipleOutputs(job);
}
В вашем классе драйверов вам необходимо указать, какие все форматы ввода вы хотите использовать. Ниже будет генерироваться ваш результат в форматах файлов Text и Sequence.
// Defines additional single text based output 'text' for the job
MultipleOutputs.addNamedOutput(conf, "text", TextOutputFormat.class,
Text.class, IntWritable.class);
// Defines additional sequence-file based output 'sequence' for the job
MultipleOutputs.addNamedOutput(conf, "seq",
SequenceFileOutputFormat.class, Text.class, IntWritable.class);
Но из того, что я понял из вашего вопроса, вы в основном хотите получить доступ к вашему выходному файлу mapreduce из своего кода. Вы можете загрузить выходной файл с помощью HDFS API. Но лучше было бы поместить ваши данные в таблицу Hive и получить доступ с помощью JDBC.
Я использую версию Hadoop-0.20.2, в которой больше классов, таких как класс JobConf и т. Д., Устарели, может ли u plz предложить стабильную версия Hadoop, которая также предоставляет функцию MultipleOutputs. спасибо – Jeevanantham
Вы можете использовать новые MR API. Это использование org.apache.hadoop.mapreduce.lib.output.MultipleOutputs вместо org.apache.hadoop.mapred.lib.MultipleOutputs. –
- 1. Как Group mongodb - mapReduce output?
- 2. Hadoop MapReduce Output
- 3. MapReduce job: weird output?
- 4. MapReduce output C# reading mongoDB
- 5. Hadoop Mapreduce MultipleOutputs Output Console
- 6. MapReduce Avro Output создает текстовый файл вместо
- 7. Words Count output отображает mapred вместо mapreduce
- 8. HDInsight hasoop-mapreduce-examples.jar где Output?
- 9. MapReduce job with HAR file output
- 10. HBase Mapreduce output to hdfs & HBASe
- 11. Mapreduce to hbase output stuck at map 100% уменьшение 100%
- 12. MapReduce центры кластеризации куполов
- 13. Curl Script output output
- 14. Python Cyrilic output output
- 15. Hadoop - MapReduce
- 16. MapReduce.SDK: Как подождать работу MapReduce?
- 17. Bloom Filter in MapReduce
- 18. Testing output output
- 19. Родной mapreduce VS hbase mapreduce
- 20. Как обновить параметры задания MapReduce внутри Mapper
- 21. MapReduce problem
- 22. Hadoop MapReduce - Как улучшить параллелизм
- 23. hexdump output vs xxd output
- 24. git status output no output
- 25. Sort Mapreduce dataset
- 26. Hadoop 2.6.0 HDFS Output Folder
- 27. Mapper Output как Comma Separated Value
- 28. Mongodb Java MapReduce getOutputCollection
- 29. В MapReduce, как отправить arraylist как значение от картографа к редуктору
- 30. Dumbo mapreduce for hadoop
Посмотрите, как это делает Apache MRUnit, вы можете использовать его для своих требований. –
@ThomasJungblut, я прошел через ur 'http: // stackoverflow.com/questions/9849776/call-a-mapreduce-job-from-a-simple-java-program', чтобы вызвать метод mapreduce с удаленного сервера, он пошел отлично, но как получить вывод mapreduce в удаленной машине, которая вызывает MP? – Jeevanantham
Доступ к выходным данным из файловой системы. –