如何解决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
可能会很有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。