数据块
为了更深入的了解HDFS的数据块内容,先来普及一波Windows系统中文件系统的管理原理。
Windows文件系统
- 1:我们知道,内存可以进行分区,即分为C盘(磁盘)、D盘(磁盘)、E盘(磁盘)等,并且可以在分区的时候指定各个磁盘的大小。
- 2:分出来的每一个磁盘都有默认的数据块大小,数据块是磁盘进行数据读写的最小单位。构建与单个磁盘之上的文件系统通过磁盘块来管理该文件系统中的块,该文件系统块的大小可以是磁盘块的整数倍。
- 3:文件系统块一般是几千字节,而磁盘块一般是512字节。
- 4:这些信息——文件系统块大小——对于需读写文件的文件系统用户来说是透明的。
HDFS中的块
- 1:作为分布式文件系统,它也有块(block)的概念,但是相比Windows系统来说,它的块大得多,默认是64MB。
- 2:与单一磁盘上的文件系统相似,HDFS上的文件也别划分为块大小的多个分块(chunk),作为独立的存储单元。
- 3:但与其他文件系统不同的是,HDFS中小于一个块大小的文件不会占据整个快的空间。
为何HDFS中的块如此之大?
HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。如果块设置的足够大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。因而,传输一个由多个块组成的文件的时间取决于磁盘传输速率。
未完待续
…