or que precisamos definir explicitamente a chave / valor da saída no programa Hadoo

No livro "Hadoop: O Guia Definitivo", há um programa de exemplo com o código abaix

JobConf conf = new JobConf(MaxTemperature.class);  
conf.setJobName("Max temperature");  
FileInputFormat.addInputPath(conf, new Path(args[0]));  
FileOutputFormat.setOutputPath(conf, new Path(args[1]));  
conf.setMapperClass(MaxTemperatureMapper.class);  
conf.setReducerClass(MaxTemperatureReducer.class);  
conf.setOutputKeyClass(Text.class);  
conf.setOutputValueClass(IntWritable.class);  

A estrutura MR deve ser capaz de descobrir a chave de saída e a classe de valor das funções Mapper e Reduce que estão sendo definidas na classe JobConf. Por que precisamos definir explicitamente a chave de saída e a classe de valor na classe JobConf? Além disso, não há API semelhante para o par de chave / valor de entrad

questionAnswers(1)

yourAnswerToTheQuestion