Configuration base = job.getConfiguration();
Map<FormatBundle, Map<Integer, List<Path>>> formatNodeMap = CrunchInputs.getFormatNodeMap(job);
// First, build a map of InputFormats to Paths
for (Map.Entry<FormatBundle, Map<Integer, List<Path>>> entry : formatNodeMap.entrySet()) {
FormatBundle inputBundle = entry.getKey();
Configuration conf = new Configuration(base);
inputBundle.configure(conf);
Job jobCopy = new Job(conf);
InputFormat<?, ?> format = (InputFormat<?, ?>) ReflectionUtils.newInstance(inputBundle.getFormatClass(),
jobCopy.getConfiguration());
if (format instanceof FileInputFormat && !conf.getBoolean(RuntimeParameters.DISABLE_COMBINE_FILE, false)) {
format = new CrunchCombineFileInputFormat<Object, Object>(job);
}
for (Map.Entry<Integer, List<Path>> nodeEntry : entry.getValue().entrySet()) {