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

kdfy810k  于 2021-07-12  发布在  Spark
关注(0)|答案(2)|浏览(325)

我正在尝试获取hdfs目录中特定文件的字节数。
我试着用 fs.getFileStatus() ,但我没有看到任何获取文件字节数的方法,我只能看到 getBlockSize() 方法。
有什么方法可以在hdfs中获得特定文件的字节数吗?

r1wp621o

r1wp621o1#

fs.getFileStatus() 返回具有方法的filestatus对象 getLen() 这将返回“这个文件的长度,以字节为单位”。也许你应该仔细看看这个:https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/fs/filestatus.html.
但是请注意,文件大小在hdfs上并不是那么重要。这些文件将被组织在所谓的数据块中,每个数据块默认为64MB。因此,如果您处理许多小文件(这是hdfs上的一个大反模式),您的容量可能会比您预期的小。有关详细信息,请参见此链接:
https://hadoop.apache.org/docs/r2.6.1/hadoop-project-dist/hadoop-hdfs/hdfsdesign.html#data_blocks

l7mqbcuq

l7mqbcuq2#

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

相关问题