package tap.compression.gz; import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.GzipCodec; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapred.TextOutputFormat; import tap.Pipe; import tap.compression.Compressions; import tap.compression.FileCompression; public class GzipCompression extends FileCompression { public GzipCompression() { super(GzipCodec.class); } @Override public String fileExtension() { return "gz"; } @Override public void setPipeCompression(Pipe pipe) { pipe.setCompression(Compressions.GZIP_COMPRESSION); } @Override public void setupInput(JobConf conf) { //NOOP Gzip Input format is already supported by default } @Override public void setupOutput(JobConf conf) { TextOutputFormat.setCompressOutput(conf, true); TextOutputFormat.setOutputCompressorClass(conf, this.codec); } @Override public Class<? extends CompressionCodec> getCodec() { return this.codec; } }