在哪些情况下我们不会为文件分配块?
Posted
技术标签:
【中文标题】在哪些情况下我们不会为文件分配块?【英文标题】:In which scenarios we do not allocate blocks to files? 【发布时间】:2018-11-06 19:50:55 【问题描述】:HDFS Quota Guide 表示空间配额如下。哪些场景我们不给文件分配块?
零配额仍允许创建文件,但不能创建块 被添加到文件中。
【问题讨论】:
猜测,但hdfs dfs -touchz
只影响Namenode。不分配块
【参考方案1】:
HDFS 中的文件类似于更典型的文件系统中的 INode。它可能包含也可能不包含数据,并且只有在将数据添加到文件时才会创建块。例如,在下面的 sn-p 中,不会创建任何块,因为文件中没有添加任何数据:
FileSystem fs = ...
Path p = ...
fs.create(p).close();
而在下文中,创建了一个块:
FileSystem fs = ...
Path p = ...
try (FSDataOutputStream out = fs.create(p))
out.write(42);
【讨论】:
以上是关于在哪些情况下我们不会为文件分配块?的主要内容,如果未能解决你的问题,请参考以下文章