hadoop命令可一次性获取多个文件夹的大小

问题描述

我正在尝试弄出hadoop命令来一次性获得多个文件夹/目录的大小。

我可以通过以下命令获取单个文件夹的大小: hadoop fs -du -s -h <directory>

在这种情况下,还存在其他子目录。

解决方法

我认为没有Hadoop命令可以做到这一点。但是您可以将其与其他Shell程序结合使用。例如:

hadoop fs -ls -R <directory> | grep "^d" | awk '{print $NF}' | xargs hadoop fs -du

这将对hadoop fs -du中的每个目录执行<directory>

上述命令的细分:

  • hadoop fs -ls -R <directory> | grep "^d"为您提供<directory>内的所有目录。
  • awk '{print $NF}'获取目录名称。
  • xargs hadoop fs -du为每个目录名称执行hadoop fs -du

此外,如果您只对目录的大小感兴趣,那么使用hadoop fs -du -s而不是hadoop fs -du可能会很有用。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...