2012-06-11 78 views
8

我注意到有兩組Hadoop配置參數:一個使用mapred。*,另一個使用mapreduce。 。我猜這些可能是由於舊API與新API有關,但如果我沒有弄錯,這些似乎在新的API中共存。我對麼?如果是這樣,是否有一個廣義的語句是什麼用於mapred。什麼是mapreduce。*?Hadoop配置:mapred。* vs mapreduce。*

+0

我想我的問題是相當含糊。我不是在問圖書館。我在問兩個不同的hadoop配置參數namings。 – kee

回答

3

檢查0.20.2的源代碼,只有幾個mapreduce.*屬性,它們圍繞配置作業輸入/輸出格式,映射器/合併器/縮減器和分區器類(它們還向作業客戶端發送新的API被用於由用戶 - 看通過源o.a.h.mapreduce.JobsetUseNewAPI()方法)

  • mapreduce.inputformat.class
  • mapreduce.outputformat.class
  • mapreduce.partitioner.class
  • mapreduce.map.class
  • mapreduce.combine.class
  • mapreduce.reduce.class

有一些更多特性,但它們是次要結構

的輸入和輸出格式,無論是新的還是舊的API版本,通常使用mapred.*屬性

例如,您的地圖信號減少了您使用的輸入路徑mapred.input.dir(無論您是usi新的或舊的API)。同爲輸出特性mapred.output.dir

所以長和短的,如果是,如果沒有一個配置屬性(FileInputFormat.setInputPaths(Job, String))實用程序方法,那麼你就需要檢查源

0

hadoop.mapred已被棄用。

使用0.20.1之前的版本使用mapred。 之後的版本使用mapreduce

我不認爲它們是共存的。