为什么HDFS会把文件分块?

Why does HDFS Split Files into Blocks?

我正在尝试了解 HDFS 将文件拆分为块所获得的好处。

我本来期望通过并行读取多个块来提高读取性能。但是,我一直在阅读论文,说 reads/writes from/to HDFS 实际上比本地文件系统上的单个文件慢。

HDFS 将文件拆分成块有哪些性能优势?

I keep reading papers saying that reads/writes from/to HDFS are actually slower across the board than a single file on a local file system.

如果您可以在一台机器上读取文件,那么您就不需要 Hadoop。 Hadoop 是一个针对海量数据集的分布式处理框架。

HDFS 将文件分成块,因为它旨在处理太大而无法在一台机器上处理的文件。这不是关于提高小文件的处理速度,而是为您提供一种方法来处理您无法在一台机器上处理的文件。

除上述之外,块还非常适合用于提供容错性和可用性的复制。 HDFS 将每个块复制到少量物理上独立的机器上,并且在发生故障时,只有这些块需要从它们的替代位置重新复制到其他活动机器上。