in src/main/java/com/hadoop/mapreduce/LzoTextInputFormat.java [59:86]
protected List<FileStatus> listStatus(JobContext job) throws IOException {
List<FileStatus> files = super.listStatus(job);
Configuration conf = CompatibilityUtil.getConfiguration(job);
boolean ignoreNonLzo = LzoInputFormatCommon.getIgnoreNonLzoProperty(conf);
for (Iterator<FileStatus> iterator = files.iterator(); iterator.hasNext();) {
FileStatus fileStatus = iterator.next();
Path file = fileStatus.getPath();
FileSystem fs = file.getFileSystem(conf);
if (!LzoInputFormatCommon.isLzoFile(file.toString())) {
// Get rid of non-LZO files, unless the conf explicitly tells us to
// keep them.
// However, always skip over files that end with ".lzo.index", since
// they are not part of the input.
if (ignoreNonLzo || LzoInputFormatCommon.isLzoIndexFile(file.toString())) {
iterator.remove();
}
} else {
//read the index file
LzoIndex index = LzoIndex.readIndex(fs, file);
indexes.put(file, index);
}
}
return files;
}