1.setOutputFormatClass与setOutputValueClass的区别是什么?
如下代码:
// 输入格式
job.setInputFormatClass(TextInputFormat.class);
// 设置输出格式
job.setOutputFormatClass(TextOutputFormat.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
setOutputFormatClass顾名思义,为输出格式,比如我们输出数据是以空格或则逗号作为分割等输出。
而
setOutputValueClass则是设置的输出值的类型。
2.map和reduce的输入、输出值类型
如下代码:
Mapper<LongWritable, Text, Text, Text>
Reducer<Text, Text, Text, LongWritable>
map的输出类型为 Text, Text
Reducer输入类型为Text, Text
二者必须对应
|
|