Java 是否可以泛化映射器和还原器类?

Java 是否可以泛化映射器和还原器类?,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,例如: 如果我有一节课 extends Reducer<Text,Text,Text,Text> @Override reduce(Text,Text,Context){ sameFunction(); } 两个reduce函数都做相同的事情,但让我们假设输出格式不同,这比重复相同的reduce方法更普遍吗 如果我们能有一个支持不同输入格式和输出格式的通用减速机,那就更好了 这是可以实现的,还是我们必须坚持使用重复的reducer和reduce?sameFunction()做什

例如: 如果我有一节课

extends Reducer<Text,Text,Text,Text>
@Override
reduce(Text,Text,Context){
  sameFunction();
}
两个reduce函数都做相同的事情,但让我们假设输出格式不同,这比重复相同的reduce方法更普遍吗

如果我们能有一个支持不同输入格式和输出格式的通用减速机,那就更好了


这是可以实现的,还是我们必须坚持使用重复的reducer和reduce?

sameFunction()做什么?好的,也许上面的示例不好,但假设我希望该作业同时支持逗号分隔文本和Avro输出。因此,减速器的功能相同,但输出不同。如果iextends Reducer,则reduce将预期context.write(Text,Text),因此,如果不创建新类并扩展Reducer,我将无法使用输出context.write(AvroSchema().exampledata,nullwriteable.get())。我是否可以重用代码?
@Override
reduce(LongWritable,Text,Context){
 sameFunction();
}