假设一个使用默认块大小(128 MB),并且有一个文件使用130 MB;所以使用一个完整大小的块和一个2 MB的块。然后需要将20 MB附加到文件中(总共应该是150 MB)。会发生什么?
HDFS实际上是否将最后一个块的大小从2MB调整为22MB?或者创建一个新块?
如何附加到HDFS中的文件处理conccurency? 是否有数据存储风险?
HDFS是否创建了第三个块,其中包含20 + 2 MB,并删除了2MB的块。如果是的话,这是如何同时工作的?
答案 0 :(得分:6)
根据latest design document Jira issue中的mentioned before,我们会针对您的问题找到以下答案:
答案 1 :(得分:3)
答案 2 :(得分:1)
Hadoop分布式文件系统支持附加到文件,在这种情况下,它应该将20 MB添加到示例中的第二个块(最初为2 MB的块)。这样你就会得到两个块,一个是128 MB,另一个是22 MB。
This是对HDFS附加java文档的引用。