Hadoop文件解压缩
2015-06-05 21:56
239 查看
Class
A factory that will find the correct codec for a given filename.
Method
Find the relevant compression codec for the given file based on its filename suffix.
获得这个压缩数据文件采用哪种压缩数据算法。
打成jar包:Decodec.jar
org.apache.hadoop.io.compress .CompressionCodecFactory
A factory that will find the correct codec for a given filename.
Method
CompressionCodec getCodec(Path file)
Find the relevant compression codec for the given file based on its filename suffix.
获得这个压缩数据文件采用哪种压缩数据算法。
package Compress; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.hadoop.conf.Configuration; 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.CompressionCodecFactory; import org.apache.hadoop.io.compress.CompressionInputStream; import org.apache.hadoop.mapreduce.Job; /** * 解压缩 * @author liguodong */ public class Decompression { final static String file = "/liguodong/data.gz"; public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "DeCodec"); //打包运行必须执行的方法 job.setJarByClass(Decompression.class); CompressionCodecFactory codecFactory = new CompressionCodecFactory(conf); //返回一个解压缩的实例 CompressionCodec codec = codecFactory.getCodec(new Path(file)); //返回被算法解压了的输入流 CompressionInputStream inputStream = codec.createInputStream (new FileInputStream(new File(file))); //将输入流文件写出到去除了扩展名的文件 FileOutputStream outputStream = new FileOutputStream (new File(codecFactory.removeSuffix(file, codec.getDefaultExtension()))); IOUtils.copyBytes(inputStream, outputStream, conf); } }
打成jar包:Decodec.jar
[root@master liguodong]# yarn jar Decodec.jar 15/06/05 21:54:25 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library [root@master liguodong]# ll 总用量 524824 -rw-r--r-- 1 root root 1492 6月 5 19:47 codec.jar -rw-r--r-- 1 root root 536870912 6月 5 21:54 data -rw-r--r-- 1 root root 521844 6月 5 21:40 data.gz
相关文章推荐
- Linux终端下的命令
- [GUI] Linux中的图形管理
- CentOS 创建svn服务器
- Tomcat服务器自动加载监听程序(转载)
- Win7+CentOS 7双系统启动顺序修改方法.
- Win7+CentOS 7双系统启动顺序修改方法.
- Tomcat安全配置及优化
- linux下一个C语言flock功能使用 .
- 三层架构--如何判断一项功能到底属于哪一程
- OpenStack行业实践和发展趋势
- Tomcat的配置
- Hadoop的压缩算法实例及压缩算法选取
- Linux 目录流管理
- apache commons-io相关介绍-monitor包
- 三层架构问题----解耦
- opencv用金字塔cvPyrSegmentation实现图像分割
- hadoop读取GBK编码文件解决之道!
- Linux 文件流与目录流管理
- Shell学习
- OpenCV300 CMake生成工程项目过程中的问题