我最近一直在研究 hadoop 和 HDFS。当您将文件加载到 HDFS 中时,它通常会将文件拆分为 64MB 的块并将这些块分布在您的集群中。除非它不能对 gzip 文件执行此操作,因为 gzip 文件无法拆分。我完全理解为什么会这样(我不需要任何人解释为什么不能拆分 gzip 文件)。但是为什么 HDFS 不能将纯文本文件作为输入并像平常一样拆分它,然后分别使用 gzip 压缩每个拆分?当访问任何拆分时,它只是在运行中解压缩。
在我的场景中,每个拆分都是完全独立压缩的。拆分之间没有依赖关系,因此您不需要整个原始文件来解压缩任何一个拆分。这就是这个补丁所采用的方法:https ://issues.apache.org/jira/browse/HADOOP-7076 ,请注意这不是我想要的。
这似乎很基本......我错过了什么?为什么不能这样做?或者如果可以做到,hadoop 开发人员为什么不看这条路呢?考虑到我发现有多少关于人们想要在 HDFS 中拆分 gzip 文件的讨论,这似乎很奇怪。