您的位置:首页 > 编程语言

CompressionCodec代码片段一则

2014-03-04 12:54 204 查看
import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.io.compress.CompressionCodec;
import org.apache.hadoop.io.compress.CompressionOutputStream;
import org.apache.hadoop.util.ReflectionUtils;
//vv StreamCompressorpublic class StreamCompressor
{
public static void main(String[] args) throws Exception {
String codecClassname = "org.apache.hadoop.io.compress.GzipCodec";
String uri = "hdfs://master:9000/in/test.txt";
String outputUri = "hdfs://master:9000/in/test.txt.gz";
Class<?> codecClass = Class.forName(codecClassname);
Configuration conf = new Configuration();
FileSystem fs1 = FileSystem.get(URI.create(uri), conf);
FileSystem fs2 = FileSystem.get(URI.create(outputUri), conf);
CompressionCodec codec = (CompressionCodec) ReflectionUtils.newInstance(codecClass, conf);
InputStream in =fs1.open(new Path(uri));
CompressionOutputStream out = codec.createOutputStream(fs2.create(new Path(outputUri)));
IOUtils.copyBytes(in, out, 4096, false);
in.close();
out.close();
}}// ^^ StreamCompressor
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: