如何找到HDFS文件的大小?应该使用什么命令来查找HDFS中任何文件的大小。
enyaitl31#
我也发现自己经常使用hadoop fs -dus <path>。例如,如果HDFS上名为“/USER/Frylock/INPUT”的目录包含100个文件,并且您需要可以运行的所有这些文件的总大小:
hadoop fs -dus <path>
hadoop fs -dus /user/frylock/input
您将获得“/User/Frylock/Input”目录中所有文件的总大小(以字节为单位)。
另外,请记住,HDFS以冗余方式存储数据,因此文件使用的实际物理存储空间可能是hadoop fs -ls和hadoop fs -dus报告的3倍或更多。
hadoop fs -ls
hadoop fs -dus
roejwanj2#
您可以使用hadoop fs -ls命令列出当前目录中的文件及其详细信息。命令输出中的第5列包含以字节为单位的文件大小。
例如,命令hadoop fs -ls input输出如下:
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字节。
sou
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; } }
3条答案
按热度按时间enyaitl31#
我也发现自己经常使用
hadoop fs -dus <path>
。例如,如果HDFS上名为“/USER/Frylock/INPUT”的目录包含100个文件,并且您需要可以运行的所有这些文件的总大小:您将获得“/User/Frylock/Input”目录中所有文件的总大小(以字节为单位)。
另外,请记住,HDFS以冗余方式存储数据,因此文件使用的实际物理存储空间可能是
hadoop fs -ls
和hadoop fs -dus
报告的3倍或更多。roejwanj2#
您可以使用
hadoop fs -ls
命令列出当前目录中的文件及其详细信息。命令输出中的第5列包含以字节为单位的文件大小。例如,命令
hadoop fs -ls input
输出如下:文件
sou
的大小为45956字节。igsr9ssn3#
我使用了下面的函数,它帮助我获取文件大小。