HDFS文件系统 - 如何获取目录中特定文件的字节数

时间:2016-03-03 05:58:15

标签: java hdfs

我正在尝试获取HDFS目录中特定文件的字节数。

我尝试使用fs.getFileStatus(),但我没有看到任何获取文件字节数的方法,我只能看到getBlockSize()方法。

有没有办法在HDFS中获取特定文件的字节数?

2 个答案:

答案 0 :(得分:1)

fs.getFileStatus()返回一个FileStatus对象,它有一个方法getLen(),它将返回"该文件的长度,以字节为单位。"也许你应该仔细研究一下:https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/fs/FileStatus.html

但是请注意文件大小在HDFS上并不重要。这些文件将被组织在所谓的数据块中,每个数据块默认为64 MB。因此,如果您处理许多小文件(这是HDFS上的一个大型反模式),您的容量可能会低于预期。有关详细信息,请参阅此链接:

https://hadoop.apache.org/docs/r2.6.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Data_Blocks

答案 1 :(得分:0)

我们需要使用fs.getLen()方法来获取文件字节数。