Hadoop 从多个输入获取所有输入路径

Hadoop 从多个输入获取所有输入路径,hadoop,mapreduce,Hadoop,Mapreduce,我的mapreduce工作之一是使用多个输入。作业完成后,我想删除输入文件。不幸的是,MultipleInputs的API非常有限,并且没有提供FileInputFormatFileInputFormat.getInputPath()等功能 我查看了Hadoop的源代码,看起来我应该能够从mapreduce.input.multipleinputs.dir.formats中获取所有路径,但这对我来说总是空的 当然,我可以将所有输入路径存储在某个“一侧”的位置,但我确信一定有办法从HadoopsA

我的mapreduce工作之一是使用多个输入。作业完成后,我想删除输入文件。不幸的是,MultipleInputs的API非常有限,并且没有提供FileInputFormat
FileInputFormat.getInputPath()
等功能

我查看了Hadoop的源代码,看起来我应该能够从
mapreduce.input.multipleinputs.dir.formats
中获取所有路径,但这对我来说总是空的

当然,我可以将所有输入路径存储在某个“一侧”的位置,但我确信一定有办法从HadoopsAPI获取它

    for(Path path : getParsedSitesToMerge(conf, crawlPath)) {
                MultipleInputs.addInputPath(job, path, SequenceFileInputFormat.class, InjectLinkMapper.class);
                System.out.println(path.toString());
                System.out.println(MultipleInputs.DIR_FORMATS + ": " + conf.get(MultipleInputs.DIR_FORMATS));
}
输出

file:/tmp/crawl1/link_db/links/parsed_1420300287148
mapreduce.input.multipleinputs.dir.formats: null
file:/tmp/crawl1/link_db/links/parsed_1420300308993
mapreduce.input.multipleinputs.dir.formats: null
请参阅多个输入的部分代码:

 public static final String DIR_FORMATS = "mapreduce.input.multipleinputs.dir.formats";
 public static void addInputPath(Job job, Path path,
 Class<? extends InputFormat> inputFormatClass) {
      String inputFormatMapping = path.toString() + ";" + inputFormatClass.getName();
      Configuration conf = job.getConfiguration();
      String inputFormats = conf.get(DIR_FORMATS);
      conf.set(DIR_FORMATS,
           inputFormats == null ? inputFormatMapping : inputFormats + ","
           + inputFormatMapping);
      job.setInputFormatClass(DelegatingInputFormat.class);
 }
公共静态最终字符串DIR\u FORMATS=“mapreduce.input.multipleinputs.DIR.FORMATS”; 公共静态void addInputPath(作业、路径、,
类,对我来说也是空的。顺便说一句,它是“mapred”。不建议Haddoop 1?是的。编辑了相同的,甚至我在Gen2中看到了与您相同的
mapreduce.input.multipleinputs.dir.formats
。那么您究竟是如何以及在哪里尝试访问此参数的?
conf.get(“mapreduce.input.multipleinputs.dir.formats”)
其中conf是对
配置的引用
。我也从Netbeans运行它。您试图在map/reduce或其他地方访问它吗?不,我在本地运行它。我从驱动程序访问配置。