我注意到有两组 Hadoop 配置参数:一组使用 mapred.*,另一组使用 mapreduce。。我猜测这些可能是由于旧 API 与新 API 造成的,但如果我没有记错的话,这些似乎在新 API 中共存。我对么?如果是这样,是否有一个通用的声明用于mapred.什么是mapreduce.*?
检查 0.20.2 的源代码,只有几个mapreduce.*
属性,它们围绕配置作业输入/输出格式、映射器/组合器/减速器和分区器类(它们还向作业客户端发出信号,表明用户正在使用新的 API - 查看源代码o.a.h.mapreduce.Job
, setUseNewAPI()
method)
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)
)那么你需要检查来源
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)