В одном из моих заданий mapreduce используется MultipleInputs. После выполнения задания я хочу удалить входные файлы. К сожалению, MultipleInputs имеет очень ограниченный API и не предоставляет функции FileInputFormat FileInputFormat.getInputPaths()
.Получение всех входных путей из MultipleInputs
Я посмотрел исходный код Hadoop, и похоже, что я должен получить все пути формы mapreduce.input.multipleinputs.dir.formats
, но это всегда пусто для меня.
Конечно, я могу хранить все входные пути где-то «на стороне», но я уверен, что должен быть способ получить его из API Hadoops.
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
Это для меня тоже. Btw «отображен». не предлагая Haddoop 1? –
Да, это так. Отредактировано то же самое, и даже я вижу то же самое 'mapreduce.input.multipleinputs.dir.formats' в Gen2, что и вы. Итак, как и где именно вы пытаетесь получить доступ к этому параметру? – SMA
'conf.get (" mapreduce.input.multipleinputs.dir.formats ")' где conf - ссылка на «Конфигурация». Я также запускаю его из Netbeans. –