【发布时间】:2020-08-14 00:40:35
【问题描述】:
我正在尝试找出 hadoop 命令以一次性获取多个文件夹/目录的大小。
我可以通过以下命令获取单个文件夹的大小:
hadoop fs -du -s -h <directory>
在这种情况下,还有更多的子目录。
【问题讨论】:
-
你可以试试
hadoop fs -count看看是否适合你的需求。
我正在尝试找出 hadoop 命令以一次性获取多个文件夹/目录的大小。
我可以通过以下命令获取单个文件夹的大小:
hadoop fs -du -s -h <directory>
在这种情况下,还有更多的子目录。
【问题讨论】:
hadoop fs -count看看是否适合你的需求。
我认为没有 Hadoop 命令可以做到这一点。但是您可以将它与其他 shell 程序结合使用。例如:
hadoop fs -ls -R <directory> | grep "^d" | awk '{print $NF}' | xargs hadoop fs -du
这将为<directory> 中的每个目录执行hadoop fs -du。
上述命令的分解:
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 可能会很有用。
【讨论】: