Я думал, что они относятся к редуктору, но в моей программе у меня есть
public static class MyMapper extends
Mapper< LongWritable, Text, Text, Text >
и
public static class MyReducer extends
Reducer< Text, Text, NullWritable, Text >
поэтому, если у меня есть
job.setOutputKeyClass( NullWritable.class );
job.setOutputValueClass( Text.class );
Я получаю следующее исключение
Type mismatch in key from map: expected org.apache.hadoop.io.NullWritable, recieved org.apache.hadoop.io.Text
но если у меня есть
job.setOutputKeyClass( Text.class );
нет проблем.
Неправильно ли мой код, или это происходит из-за NullWritable или else?
Также мне нужно использовать job.setInputFormatClass
и job.setOutputFormatClass
? Потому что мои программы работают без них.