Ошибка в классе драйвера в Java Mapreduce

#java #mapreduce

#java #mapreduce

Вопрос:

Я получаю ошибку при обработке

 job.setInputFormatClass(TextInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);
  

Как с этим справиться? Может кто-нибудь, пожалуйста, помогите мне …!

 import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.TextInputFormat;
import org.apache.hadoop.mapred.TextOutputFormat;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat;
  

Выше приведены импортированные файлы. И ошибка возникает в приведенных ниже строках кода.

  job.setInputFormatClass(TextInputFormat.class);
 job.setOutputFormatClass(TextOutputFormat.class);
  

Как исправить эту проблему? Я новичок в MapReduce.

Комментарии:

1. MapReduce v2 совместим с MapReduce v1, но упаковка классов отличается между V2 и V1. Введите hadoop version и сообщите здесь, что вы получите.

Ответ №1:

Вы используете несколько пакетов из обновленной версии Hadoop [mapreduce], но некоторые из них (TextInputFormat и TextOutputFormat) являются более старой версией [mapred package].

Всегда полезно использовать пакеты из map reduce, поэтому вам нужно сделать следующее упоминание об изменении.

 import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
  

Обратитесь к этому: https://github.com/ragnar-lothbrok/hadoop-demo

Я добавил несколько рабочих примеров.

Ответ №2:

Классы TextInputFormat и TextOutputFormat относятся к другой версии hadoop по сравнению с другими классами.Исправьте импорт для TextInputFormat и TextOutputFormat.