/** Defers to {@link BCFSplitGuesser} as appropriate for each individual * path. VCF paths do not require special handling, so their splits are left * unchanged. */ @Override public List<InputSplit> getSplits(JobContext job) throws IOException { if (this.conf == null) this.conf = job.getConfiguration(); final List<InputSplit> origSplits = super.getSplits(job); // We have to partition the splits by input format and hand the BCF ones // over to getBCFSplits(). final List<FileSplit> bcfOrigSplits = new ArrayList<>(origSplits.size()); final List<InputSplit> newSplits = new ArrayList<>(origSplits.size()); for (final InputSplit iSplit : origSplits) { final FileSplit split = (FileSplit)iSplit; if (VCFFormat.BCF.equals(getFormat(split.getPath()))) bcfOrigSplits.add(split); else newSplits.add(split); } fixBCFSplits(bcfOrigSplits, newSplits); return filterByInterval(newSplits, conf); }
/** Defers to {@link BCFSplitGuesser} as appropriate for each individual * path. VCF paths do not require special handling, so their splits are left * unchanged. */ @Override public List<InputSplit> getSplits(JobContext job) throws IOException { if (this.conf == null) this.conf = job.getConfiguration(); final List<InputSplit> origSplits = super.getSplits(job); // We have to partition the splits by input format and hand the BCF ones // over to getBCFSplits(). final List<FileSplit> bcfOrigSplits = new ArrayList<FileSplit>(origSplits.size()); final List<InputSplit> newSplits = new ArrayList<InputSplit>(origSplits.size()); for (final InputSplit iSplit : origSplits) { final FileSplit split = (FileSplit)iSplit; if (VCFFormat.BCF.equals(getFormat(split.getPath()))) bcfOrigSplits.add(split); else newSplits.add(split); } fixBCFSplits(bcfOrigSplits, newSplits); return filterByInterval(newSplits, conf); }
/** Defers to {@link BCFSplitGuesser} as appropriate for each individual * path. VCF paths do not require special handling, so their splits are left * unchanged. */ @Override public List<InputSplit> getSplits(JobContext job) throws IOException { if (this.conf == null) this.conf = job.getConfiguration(); final List<InputSplit> origSplits = super.getSplits(job); // We have to partition the splits by input format and hand the BCF ones // over to getBCFSplits(). final List<FileSplit> bcfOrigSplits = new ArrayList<FileSplit>(origSplits.size()); final List<InputSplit> newSplits = new ArrayList<InputSplit>(origSplits.size()); for (final InputSplit iSplit : origSplits) { final FileSplit split = (FileSplit)iSplit; if (VCFFormat.BCF.equals(getFormat(split.getPath()))) bcfOrigSplits.add(split); else newSplits.add(split); } fixBCFSplits(bcfOrigSplits, newSplits); return filterByInterval(newSplits, conf); }