Hadoop配置:mapred.*vs mapreduce*

Hadoop配置:mapred.*vs mapreduce*,hadoop,mapreduce,Hadoop,Mapreduce,我注意到有两组Hadoop配置参数:一组使用mapred.*,另一组使用mapreduce。。我猜这可能是由于旧API和新API的不同,但如果我没有弄错的话,这些似乎在新API中共存。我说得对吗?如果是这样的话,是否有一个通用语句用于mapred。什么是mapreduce。* hadoop.mapred已被弃用 0.20.1之前的版本已使用mapred。 之后的版本使用mapreduce 我认为它们并不共存。检查0.20.2的源代码,只有少数mapreduce.属性,它们围绕配置作业输入/输出格

我注意到有两组Hadoop配置参数:一组使用mapred.*,另一组使用mapreduce。。我猜这可能是由于旧API和新API的不同,但如果我没有弄错的话,这些似乎在新API中共存。我说得对吗?如果是这样的话,是否有一个通用语句用于mapred。什么是mapreduce。*

hadoop.mapred已被弃用

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


我认为它们并不共存。

检查0.20.2的源代码,只有少数
mapreduce.
属性,它们围绕配置作业输入/输出格式、映射器/组合器/还原器和分区器类展开(它们还向作业客户端发出新API正在被用户使用的信号-查看
o.a.h.mapreduce.job
setUseNewAPI()
方法的源代码)

  • mapreduce.inputformat.class
  • mapreduce.outputformat.class
  • mapreduce.partitioner.class
  • mapreduce.map.class
  • mapreduce.combine.class
  • mapreduce.reduce.class
还有一些属性,但它们是辅助配置

输入和输出格式,无论是新的还是旧的API版本,通常使用
mapred.*
properties

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


因此,if的长短是,如果没有一个实用方法来配置属性(
FileInputFormat.setInputPaths(Job,String)
),那么您需要检查源代码是的,映射库已被弃用。mapreduce库在hadoop 0.20.1中是新的

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


请查看此链接以了解您仍然可以使用的功能:

我想我的问题很模糊。我不是问库。我问的是两个不同的hadoop配置参数名称。链接已断开