如何将 5 GB gzip 压缩文件读入内存并进行压缩?解压前是否需要将整个文件读入内存?我的问题与在 Hadoop 中处理 gzip 压缩文件有关,Hadoop 无法像处理非压缩文件那样分割处理。 bzip2 怎么样?有什么区别吗?
谢谢
最佳答案
不,5 GB 不需要读入内存。如果您愿意,您可以一次读取一个字节,然后以这种方式解压缩。 gzip、bzip2 和我所知道的所有压缩格式都是流格式。您可以读取小位并连续解压缩它们,而不必在文件中向后移动。 (.ZIP 格式在末尾有 header 信息,因此解压程序通常从那里向后查找条目。但这不是必需的,.ZIP 文件可以作为流进行压缩和解压缩。)
关于hadoop - 解压时如何读取压缩文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013285/