gpt4 book ai didi

hadoop - HDFS block 大小及其与底层物理文件系统 block 大小的关系

转载 作者:可可西里 更新时间:2023-11-01 14:30:25 25 4
gpt4 key购买 nike

我试图了解 HDFS 文件系统 block 大小与底层物理文件系统 block 大小之间的关系。

根据我的理解,hdfs 只是一个虚拟文件系统,它将实际数据存储在底层物理文件系统上。 hadoop 2 中的 HDFS block 大小为 128 MB;然而,在大多数基于 Linux 的文件系统中, block 大小为 4 KB。

我的问题:

Q1)当一个HDFS block 被写入实际文件系统时,它会写入底层文件系统的多个 block 吗?那就是对于单个 HDFS block ,它必须写入 128 * 1024 KB/4 KB --> 32,768 个 block ?

Q2) 如果上面是正确的,那是不是需要在磁头上进行大量寻道?是不是很费时间的过程? Hadoop 如何高效地完成这个过程?

谁能帮我理解一下?

最佳答案

两者之间没有任何联系。 HDFS 中的 128MB block 大小仅意味着 HDFS 不会生成大于 128MB 的文件。当需要存储大量数据时,它会将数据分成几个文件。但是 HDFS 创建的 128MB 文件与任何其他程序创建的 128MB 文件没有什么不同。

您是正确的,大量 4k block 分散在整个磁盘上会导致访问文件时进行大量磁盘寻道。为避免这种情况,当操作系统为文件分配磁盘空间时——任何文件,而不仅仅是 HDFS 创建的文件——它会尝试选择彼此相邻的 block ,以便磁盘可以查找一次,然后一起读取或写入所有 block 。

有关更多信息,请阅读 disk fragmentation .

关于hadoop - HDFS block 大小及其与底层物理文件系统 block 大小的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43162823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com