Hadoop configuration: mapred.* vs mapreduce.*



我注意到有两组Hadoop配置参数:一组使用mapred.*,另一组使用mapreduce。我猜这些可能是由于旧 API 与新 API 造成的,但如果我没记错的话,这些似乎在新 API 中共存。我说的对吗?如果是这样,是否有一个通用的陈述,用于映射。什么是MapReduce.*?

检查 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的输入路径(无论您使用的是新 API 还是旧 API)。输出属性mapred.output.dir相同

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

是的,映射库已被弃用。 MapReduce库是Hadoop 0.20.1中的新功能。

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

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

hadoop.mapred已被弃用。

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

我不认为它们共存。

相关内容

  • 没有找到相关文章

最新更新