|
@@ -40,6 +40,7 @@ import org.apache.hadoop.fs.FileStatus;
|
|
import org.apache.hadoop.fs.PathFilter;
|
|
import org.apache.hadoop.fs.PathFilter;
|
|
import org.apache.hadoop.io.compress.CompressionCodec;
|
|
import org.apache.hadoop.io.compress.CompressionCodec;
|
|
import org.apache.hadoop.io.compress.CompressionCodecFactory;
|
|
import org.apache.hadoop.io.compress.CompressionCodecFactory;
|
|
|
|
+import org.apache.hadoop.io.compress.SplittableCompressionCodec;
|
|
import org.apache.hadoop.mapreduce.InputFormat;
|
|
import org.apache.hadoop.mapreduce.InputFormat;
|
|
import org.apache.hadoop.mapreduce.InputSplit;
|
|
import org.apache.hadoop.mapreduce.InputSplit;
|
|
import org.apache.hadoop.mapreduce.JobContext;
|
|
import org.apache.hadoop.mapreduce.JobContext;
|
|
@@ -147,7 +148,10 @@ public abstract class CombineFileInputFormat<K, V>
|
|
protected boolean isSplitable(JobContext context, Path file) {
|
|
protected boolean isSplitable(JobContext context, Path file) {
|
|
final CompressionCodec codec =
|
|
final CompressionCodec codec =
|
|
new CompressionCodecFactory(context.getConfiguration()).getCodec(file);
|
|
new CompressionCodecFactory(context.getConfiguration()).getCodec(file);
|
|
- return codec == null;
|
|
|
|
|
|
+ if (null == codec) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ return codec instanceof SplittableCompressionCodec;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|