2015-09-03 57 views
0

在O'Reilly Hadoop指南中,mapper和reducer类的实现首先在单独的文件中引入。稍后,它将它们显示为内部类。Mapper和Reducer应该是内部类吗?

随着我编写和处理的工作,我发现使用mapper和reducers捆绑在一个类中的实现更难以使用。所以我的约定是编写单独的顶级课程。它是否正确?

回答

2

在java程序角度来看也肯定有内部类和外类和的主要优点在于,

嵌套类代表一种特殊类型的关系这是它可以访问所有的一个之间的一些差异外部类的成员(数据成员和方法)包括私有的。

在MapReduce程序中,因为映射器和缩减器使用内部类彼此独立运行,所以肯定不会提供任何编程优势。

本书使用内部类的主要原因是易读性和易用性。任何试图从书中复制代码的新手都可以将粘贴(在电子书的情况下)将整个代码复制到一个Java文件并执行该程序。

只是供参考: 请参阅此link知道何时使用内部类。

0

你可以把它们写成内部类或分开的类。第二个是更好的做法。

相关问题