如何查找HDFS文件的大小

fquxozlt  于 2022-10-07  发布在  HDFS
关注(0)|答案(3)|浏览(239)

如何找到HDFS文件的大小?应该使用什么命令来查找HDFS中任何文件的大小。

enyaitl3

enyaitl31#

我也发现自己经常使用hadoop fs -dus <path>。例如,如果HDFS上名为“/USER/Frylock/INPUT”的目录包含100个文件,并且您需要可以运行的所有这些文件的总大小:

hadoop fs -dus /user/frylock/input

您将获得“/User/Frylock/Input”目录中所有文件的总大小(以字节为单位)。

另外,请记住,HDFS以冗余方式存储数据,因此文件使用的实际物理存储空间可能是hadoop fs -lshadoop fs -dus报告的3倍或更多。

roejwanj

roejwanj2#

您可以使用hadoop fs -ls命令列出当前目录中的文件及其详细信息。命令输出中的第5列包含以字节为单位的文件大小。

例如,命令hadoop fs -ls input输出如下:

Found 1 items
-rw-r--r--   1 hduser supergroup      45956 2012-07-19 20:57 /user/hduser/input/sou

文件sou的大小为45956字节。

igsr9ssn

igsr9ssn3#

我使用了下面的函数,它帮助我获取文件大小。

public class GetflStatus
{
    public long getflSize(String args) throws IOException, FileNotFoundException
    {
        Configuration config = new Configuration();
        Path path = new Path(args);
        FileSystem hdfs = path.getFileSystem(config);
        ContentSummary cSummary = hdfs.getContentSummary(path);
        long length = cSummary.getLength();
        return length;
    }
}

相关问题