在某些书籍(如Hadoop,The Definitive Guide)中,Mapper方法是这样定义的:
public class MapClass extends Mapper extends Mapper<...
但在其他书籍(如Hadoop in Action)中是这样的:
public static class MapClass extends MapReduceBase implements Mapper <...
哪个是首选或者有什么区别?
也许第一个选项更新?
为什么是静态的?
问候
最佳答案
Mapper
和 Reducer
是旧 API 中的接口(interface),但现在是任务继承的类。新旧 API 的实现都出现在过渡 Hadoop 发行版中,但如果您没有依赖旧内容的遗留代码,则应该坚持使用新 API。这两者通常不能互操作。
关于有或没有 "implements"的 Hadoop 映射方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18348427/