在哪些情况下,我们不为文件分配块?

时间:2018-11-06 19:50:56

标签: hadoop hdfs namenode

HDFS Quota Guide对太空配额说以下话。在哪些情况下我们不为文件分配块?

  

配额为零仍然允许创建文件,但是不能阻止任何块   添加到文件中。

1 个答案:

答案 0 :(得分:1)

HDFS中的文件类似于更典型的文件系统中的INode。它可能包含也可能不包含数据,并且只有在将数据添加到文件的情况下才会创建块。例如,在以下代码段中,未创建任何块,因为未向该文件添加任何数据。

FileSystem fs = ...
Path p = ...
fs.create(p).close();

在以下情况下,将创建一个块:

FileSystem fs = ...
Path p = ...
try (FSDataOutputStream out = fs.create(p)) {
    out.write(42);
}