Hadoop配置:mapred。* vs mapreduce。*

时间:2012-06-11 19:52:26

标签: hadoop mapreduce

我注意到有两组Hadoop配置参数:一组带有mapred。*,另一组带有mapreduce。。我猜这些可能是由于旧API与新API有关,但如果我没有弄错,这些似乎在新API中共存。我对么?如果是这样,是否存在用于mapred的广义语句。以及mapreduce的用途。*?

3 个答案:

答案 0 :(得分: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

还有一些属性,但它们是辅助配置

输入和输出格式(无论是新版本还是旧版本)通常使用mapred.*属性

例如,地图减少您使用mapred.input.dir输入路径的信号(无论您使用的是新旧API)。输出属性mapred.output.dir

也是如此

所以if的长短都是,如果没有实用工具方法来配置属性(FileInputFormat.setInputPaths(Job, String))那么你需要检查源

答案 1 :(得分:2)

是的已弃用的mapred库。 mapreduce库是hadoop 0.20.1中的新内容。

但是,您仍然可以使用mapred提供的一些功能,这就是您仍然可以在目录中找到它的原因。

请查看此链接,了解您仍可使用的功能:http://hadoop.apache.org/common/docs/r0.20.0/api/org/apache/hadoop/mapred/package-summary.html

答案 2 :(得分:1)

hadoop.mapred已被弃用。

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

我不认为他们共存。