我認爲他們指的是減速,但在我的節目,我有job.setOutputKeyClass和job.setOutputReduceClass指向哪裏?
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或其他?
我也必須使用job.setInputFormatClass
和job.setOutputFormatClass
?因爲我的程序沒有它們正確運行。
哦,你是對的,我不知道你runs.Of mentioned.Adding他們我的計劃的兩種方法當然,我用工作不是沒JobConf,但方法也存在。非常感謝!你能告訴我關於我問題的最後部分嗎? – nik686
@ nik686我在上面的問題的最後部分添加了答案。 –
所以默認是TextInputFormat和TextOutputFormat,這就是我的程序運行的原因。非常感謝! – nik686