我注意到有两组Hadoop配置参数:一组带有mapred.*,另一组带有mapreduce..我猜这些可能是由于旧API与新API有关,但如果我没有弄错,这些似乎在新API中共存.我对么?如果是这样,是否有用于mapred的通用语句.什么是mapreduce.*?
检查 0.20.2 的源代码,只有几个mapreduce.*属性,它们围绕配置作业输入/输出格式、映射器/组合器/减速器和分区器类(它们还向作业客户端发出正在使用新 API 的信号)由用户 - 查看o.a.h.mapreduce.Job,setUseNewAPI()方法的源代码)
mapreduce.inputformat.classmapreduce.outputformat.classmapreduce.partitioner.classmapreduce.map.classmapreduce.combine.classmapreduce.reduce.class还有一些属性,但它们是辅助配置
输入和输出格式,无论是新旧API版本,通常都使用mapred.*属性
例如,您的地图信号会减少您使用的输入路径mapred.input.dir(无论您使用的是新 API 还是旧 API)。输出属性相同mapred.output.dir
所以 if 的长短是,如果没有实用方法来配置属性 ( FileInputFormat.setInputPaths(Job, String)) 那么你需要检查源代码