我正在尝试获取hdfs目录中特定文件的字节数。我试着用 fs.getFileStatus() ,但我没有看到任何获取文件字节数的方法,我只能看到 getBlockSize() 方法。有什么方法可以在hdfs中获得特定文件的字节数吗?
fs.getFileStatus()
getBlockSize()
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
getLen()
l7mqbcuq2#
我们需要使用 fs.getLen() 方法获取文件字节计数。
fs.getLen()
2条答案
按热度按时间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
l7mqbcuq2#
我们需要使用
fs.getLen()
方法获取文件字节计数。