Hadoop中的HDFS文件系统内部如何解压ZIP文件

kent7306 kent7306 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一、命令不支持解压文件,这种就弃用了
二、那调用HDFS的java api,这段是从网上找来的关于HDFS文件解压的代码,

//使用文件扩展名来推断二来的codec来对文件进行解压缩
public static void uncompress1(String uri) throws IOException{
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);

Path inputPath = new Path(uri);
CompressionCodecFactory factory = new CompressionCodecFactory(conf);
CompressionCodec codec = factory.getCodec(inputPath);
if(codec == null){
System.out.println("no codec found for " + uri);
System.exit(1);
}
String outputUri = CompressionCodecFactory.removeSuffix(uri, codec.getDefaultExtension());
InputStream in = null;
OutputStream out = null;
try {
in = codec.createInputStream(fs.open(inputPath));
out = fs.create(new Path(outputUri));
IOUtils.copyBytes(in, out, conf);
} finally{
IOUtils.closeStream(out);
IOUtils.closeStream(in);
}
}

但是不支持zip格式的文件解压,下面两行代码
CompressionCodecFactory factory = new CompressionCodecFactory(conf);
CompressionCodec codec = factory.getCodec(inputPath);

运行后codec为空,不能获取到压缩方式,English网站有位bro说hadoop不支持zip格式的压缩跟解压,不知道各位兄弟有没有解决这个问题的呢?
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
kent7306
云存储 932 成员 651 内容