2015-09-03 56 views
0

在O'Reilly Hadoop指南中,mapper和reducer類的實現首先在單獨的文件中引入。稍後,它將它們顯示爲內部類。Mapper和Reducer應該是內部類嗎?

隨着我編寫和處理的工作,我發現使用mapper和reducers捆綁在一個類中的實現更難以使用。所以我的約定是編寫單獨的頂級課程。它是否正確?

回答

2

在java程序角度來看也肯定有內部類和外類和的主要優點在於,

嵌套類代表一種特殊類型的關係這是它可以訪問所有的一個之間的一些差異外部類的成員(數據成員和方法)包括私有的。

在MapReduce程序中,因爲映射器和縮減器使用內部類彼此獨立運行,所以肯定不會提供任何編程優勢。

本書使用內部類的主要原因是易讀性和易用性。任何試圖從書中複製代碼的新手都可以將粘貼(在電子書的情況下)將整個代碼複製到一個Java文件並執行該程序。

只是供參考: 請參閱此link知道何時使用內部類。

0

你可以把它們寫成內部類或分開的類。第二個是更好的做法。

相關問題