相关疑难解决方法(0)

随机访问gzip文件?

我有一个非常大的文件压缩与gzip坐在磁盘上.生产环境基于"云",因此存储性能很差,但CPU很好.以前,我们的数据处理流程始于gzip -dc从磁盘上传输数据.

现在,为了并行工作,我想运行多个管道,每个管道都需要一对字节偏移 - 开始和结束 - 并获取该文件的块.使用普通文件,这可以通过head和实现tail,但我不知道如何使用压缩文件有效地完成它; 如果我gzip -dc和管道进入head,文件末尾的偏移对将涉及浪费地搜索整个文件,因为它慢慢解压缩.

所以我的问题实际上是关于gzip算法 - 理论上是否有可能在底层文件中寻找一个字节偏移量或得到它的任意一块,而没有解压缩整个文件到那一点的全部含义?如果没有,我可以如何有效地将文件分区为多个进程的"随机"访问,同时最小化I/O吞吐量开销?

unix concurrency streaming gzip

23
推荐指数
4
解决办法
5466
查看次数

标签 统计

concurrency ×1

gzip ×1

streaming ×1

unix ×1