
[英]How to mock java.util.zip.GZIPInputStream using JUnit, PowerMock and/or EasyMock on Java8?
[英]How to improve java.util.zip.GZIPInputStream performance to unzip a large .gz file?
我正在尝试解压缩 java 中的一个非常大的 .gz 文件,大约 50MB,然后将其传输到 hadoop 文件系统。 解压缩后,文件大小变为 20 GB。 完成这项工作需要 5 分钟以上。
protected void write(BufferedInputStream bis, Path outputPath, FileSystem hdfs) throws IOException
{
BufferedOutputStream bos = new BufferedOutputStream(hdfs.create(outputPath));
IOUtils.copyBytes(bis, bos, 8*1024);
}
即使在使用缓冲 I/O 流之后,解压缩和传输文件也需要很长时间。
Hadoop 是否导致文件传输缓慢或 GZIPInputStream 缓慢?
写入 20 Gb需要时间。 如果你在 300 秒内完成,你仍然每秒写入超过 70 Mb。
您可能只是达到了平台的极限。
如果您重写处理代码以读取可能有帮助的压缩文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.