【发布时间】:2016-04-29 11:16:03
【问题描述】:
HDFS 存储支持压缩格式来存储压缩文件。我知道 gzip 压缩不支持夹板。现在想象一下,该文件是一个 gzip 压缩文件,其压缩大小为 1 GB。现在我的问题是:
- 此文件将如何存储在 HDFS 中(块大小为 64MB)
从这个link了解到,gzip格式使用DEFLATE存储压缩后的数据,而DEFLATE将数据存储为一系列压缩块。
但我无法完全理解它并寻求广泛的解释。
更多来自gzip压缩文件的疑惑:
- 这个 1GB gzip 压缩文件有多少块。
- 它会在多个数据节点上运行吗?
- 复制因子如何应用于此文件(Hadoop 集群复制因子为 3。)
- 什么是
DEFLATE算法? - 读取 gzip 压缩文件时应用了哪种算法?
我在这里寻找广泛而详细的解释。
【问题讨论】:
-
文件系统中的文件在磁盘上不必是连续的,无论磁盘是一个物理磁盘,还是分布式文件系统中的多个磁盘。文件系统将文件分成块,并存储在它决定存储它的任何地方。当应用程序请求文件时,文件系统知道到块的映射以及块的位置。它发送一个 I/O 请求来检索它们,然后文件系统将这些块分割回文件中。这种对大事物的划分是重点。分布式系统可以集中资源来完成单个系统无法单独完成的事情。
标签: algorithm hadoop compression hdfs gzip