hadoop:为什么明确要求job.setoutputkeyclass和setoutputvalueclass?

sr4lhrrt  于 2021-05-27  发布在  Hadoop
关注(0)|答案(0)|浏览(176)

要配置hadoop作业,必须明确指定以下内容:

job.setOutputKeyClass(Text.class)

job.setOutputValueClass(IntWritable.class)

但是,“母类”已经表示输出键和值是 Text 以及 IntWritable .

public class MyReducer extends Reducer<Text, IntWritable, Text, IntWritable> ...

它也可以在我们重写的reduce函数的原型中找到

@Override
public void reduce (final Text key, final Interable<IntWritable> values, ...

所以我的问题是:为什么在设置作业时需要显式地配置它,而在其他地方已经说过了?
此外,如果,假设我想要一个类型为 LongWritable ,我能做吗?
ps:hadoop的新手,所以我可能错过了一些东西。如果你有一个很好的关于hadoop内部工作原理的文档,请随意分享(我仍然支持bad french doc和edureka视频)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题