Trong sách "Hadoop: The Definitive Guide", có một chương trình mẫu có mã bên dưới.Tại sao chúng ta cần đặt lớp khóa/giá trị đầu ra một cách rõ ràng trong chương trình Hadoop?
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);
Khung MR sẽ có thể tìm ra khóa đầu ra và lớp giá trị từ Mapper và chức năng Giảm đang được đặt trên lớp JobConf. Tại sao chúng ta cần phải thiết lập rõ ràng khóa đầu ra và lớp giá trị trên lớp JobConf? Ngoài ra, không có API tương tự cho cặp khóa/giá trị đầu vào.