tôi nghĩ rằng họ đề cập đến giảm tốc nhưng trong chương trình của tôi, tôi cóJob.setOutputKeyClass và job.setOutputReduceClass ở đâu?
public static class MyMapper extends Mapper< LongWritable, Text, Text, Text >
và
public static class MyReducer extends Reducer< Text, Text, NullWritable, Text >
vì vậy nếu tôi có
job.setOutputKeyClass(NullWritable.class);
job.setOutputValueClass(Text.class);
tôi nhận được ngoại lệ sau
Type mismatch in key from map: expected org.apache.hadoop.io.NullWritable, recieved org.apache.hadoop.io.Text
nhưng nếu tôi có
job.setOutputKeyClass(Text.class);
không có vấn đề.
Có lỗi không đúng với mã của tôi hoặc điều này xảy ra do NullWritable hoặc sth else?
Tôi cũng phải sử dụng job.setInputFormatClass
và job.setOutputFormatClass
? Bởi vì các chương trình của tôi chạy đúng mà không có chúng.
Oh bạn nói đúng, tôi không biết về hai phương pháp mà bạn mentioned.Adding họ chương trình của tôi runs.Of nhiên tôi sử dụng công việc không JobConf nhưng các phương thức tồn tại rất tốt.Cảm ơn bạn rất nhiều! Bạn có thể cho tôi biết về phần cuối của câu hỏi của tôi không? – nik686
@ nik686 Tôi đã thêm câu trả lời cho phần cuối của câu hỏi của bạn ở trên. –
Vì vậy, mặc định là TextInputFormat và TextOutputFormat đó là lý do tại sao chương trình của tôi chạy.Cảm ơn bạn rất nhiều! – nik686