HDFS/Hadoop 的默认数据 block 大小为 64MB。磁盘中的 block 大小一般为4KB。
64MB block 大小是什么意思? ->是不是说从磁盘读取的最小单位是64MB?
如果是,这样做的好处是什么?-> 易于连续访问 HDFS 中的大文件?
我们可以使用磁盘的原始 4KB block 大小来做同样的事情吗?
最佳答案
What does 64MB block size mean?
block 大小是文件系统可以存储的最小数据单元。如果您存储一个 1k 或 60Mb 的文件,它将占用一个 block 。超过 64Mb 边界后,您需要第二个 block 。
If yes, what is the advantage of doing that?
HDFS 旨在处理大文件。假设您有一个 1000Mb 的文件。对于 4k block 大小,您必须发出 256,000 个请求才能获取该文件(每个 block 1 个请求)。在 HDFS 中,这些请求通过网络传输并带来大量开销。每个请求都必须由名称节点处理,以确定可以在何处找到该 block 。那是很多流量!如果您使用 64Mb block ,请求数量将减少到 16,从而显着降低名称节点上的开销和负载成本。
关于database - HDFS 中的数据 block 大小,为什么是 64MB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473772/