我在常见的Linux文件系统中知道du -sh
。但是如何用HDFS做到这一点?
答案 0 :(得分:141)
在0.20.203之前,并在2.6.0中正式弃用:
hadoop fs -dus [directory]
自 0.20.203 (死链接)1.0.4以来仍然通过2.6.0兼容:
hdfs dfs -du [-s] [-h] URI [URI …]
您还可以运行hadoop fs -help
以获取更多信息和详细信息。
答案 1 :(得分:56)
hadoop fs -du -s -h /path/to/dir
以可读的形式显示目录的大小。
答案 2 :(得分:16)
扩展到Matt D和其他答案,该命令可以直到 Apache Hadoop 3.0.0
hadoop fs -du [-s] [-h] [-v] [-x] URI [URI ...]
它显示给定目录中包含的文件和目录的大小或文件的长度,以防它只是一个文件。
选项:
- -s 选项将显示文件长度的汇总摘要,而不是单个文件。如果没有-s选项,则通过从给定路径向前移动1级来完成计算。
- -h 选项会以人类可读方式格式化文件大小(例如64.0m而不是67108864)
- -v 选项会将列名称显示为标题行。
- -x 选项将从结果计算中排除快照。如果没有-x选项(默认),则始终从所有INode计算结果,包括给定路径下的所有快照。
+-------------------------------------------------------------------+
| size | disk_space_consumed_with_all_replicas | full_path_name |
+-------------------------------------------------------------------+
hadoop fs -du /user/hadoop/dir1 \
/user/hadoop/file1 \
hdfs://nn.example.com/user/hadoop/dir1
退出代码:成功时返回0,错误时返回-1。
答案 3 :(得分:10)
使用此功能,您将获得GB的大小
hdfs dfs -du PATHTODIRECTORY | awk '/^[0-9]+/ { print int($1/(1024**3)) " [GB]\t" $2 }'
答案 4 :(得分:1)
Hadoop集群上已用空间的百分比
sudo -u hdfs hadoop fs –df
特定文件夹下的容量:
sudo -u hdfs hadoop fs -du -h /user
答案 5 :(得分:1)
要获取目录 hdfs dfs -du -s -h / $ yourDirectoryName 的大小,可以使用。 hdfs dfsadmin -report可用于查看快速集群级别存储报告。
答案 6 :(得分:0)
在尝试计算目录中特定文件组的总数时,set applescriptList to "$bashList"
选项不起作用(在Hadoop 2.7.1中)。例如:
目录结构:
-s
假定每个文件的大小为1 KB。您可以使用以下内容总结整个目录:
some_dir
├abc.txt
├count1.txt
├count2.txt
└def.txt
但是,如果我想要包含“ count”的所有文件的总和,该命令将不可用。
hdfs dfs -du -s some_dir
4096 some_dir
要解决这个问题,我通常将输出通过awk。
hdfs dfs -du -s some_dir/count*
1024 some_dir/count1.txt
1024 some_dir/count2.txt
答案 7 :(得分:0)
答案 8 :(得分:0)
hdfs dfs -count <dir>
手册页中的信息:
-count [-q] [-h] [-v] [-t [<storage type>]] [-u] <path> ... :
Count the number of directories, files and bytes under the paths
that match the specified file pattern. The output columns are:
DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME
or, with the -q option:
QUOTA REM_QUOTA SPACE_QUOTA REM_SPACE_QUOTA
DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME
答案 9 :(得分:0)
以人类可读格式获取文件夹大小的最简单方法是
session.close
其中 hdfs dfs -du -h /folderpath
可以相加得到总和
答案 10 :(得分:-1)
命令应为hadoop fs -du -s -h \dirPath
-du [-s] [-h] ...:显示与指定文件模式匹配的文件所使用的空间量(以字节为单位)。
-s :而不是显示与每个匹配的单个文件的大小 pattern,显示总(摘要)大小。
-h :以人类可读的方式而不是多个字节格式化文件的大小。 (例如,MB / GB / TB等)
请注意,即使没有-s选项,也只显示一个级别的大小摘要 深入到目录。
输出在表单中 尺寸名称(完整路径)