hadoop - 解压时如何读取压缩文件?

标签 hadoop compression gzip bzip2

如何将 5 GB gzip 压缩文件读入内存并进行压缩?解压前是否需要将整个文件读入内存?我的问题与在 Hadoop 中处理 gzip 压缩文件有关,Hadoop 无法像处理非压缩文件那样分割处理。 bzip2 怎么样?有什么区别吗?

谢谢

最佳答案

不,5 GB 不需要读入内存。如果您愿意,您可以一次读取一个字节,然后以这种方式解压缩。 gzip、bzip2 和我所知道的所有压缩格式都是流格式。您可以读取小位并连续解压缩它们,而不必在文件中向后移动。 (.ZIP 格式在末尾有 header 信息,因此解压程序通常从那里向后查找条目。但这不是必需的,.ZIP 文件可以作为流进行压缩和解压缩。)

关于hadoop - 解压时如何读取压缩文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013285/

相关文章:

hadoop - HDFS安全模式问题

hadoop - 如何为Hive中的不同列指定其他定界符?

encryption - 如何确定 zip 文件的加密方案

c++ - OpenGL RGB DXT1压缩纹理mipmap上传

python - 如何像 Mac OS 的 gunzip 一样解压从 Python3 中的 SFTP 中提取的 GZIP 文件?

hadoop - 来自 avro.serde.schema 的错误 - "CannotDetermineSchemaSentinel"

python - 合并 MapReduce 作业的输出文件

php - 通知 : ob_end_flush(): failed to send buffer of zlib output compression (1) in

python - gzip.open().read() 的大小参数

Python - 读取 "BadGzipFile"文件时出现 Pandas ".json.gz"错误