2012-06-11 51 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

我不认为它们是共存的。