2015-10-07 96 views
0

我想在hdfs中获取一些目录的统计信息。我正在尝试获取每个文件/子目录的大小和大小。我开始认为我可以在bash中做到这一点。来自python的Hadoop命令

我只有这么多,我很快意识到python可能是一个更好的选择。但我无法弄清楚如何执行hadoop命令,如hadoop fs -ls from python

回答

0

请参阅https://docs.python.org/2/library/commands.html以了解您的选项,包括如何获取返回状态(以防发生错误)。你缺少的基本代码是

import commands 

hdir_list = commands.getoutput('hadoop fs -ls hdfs://mydirectory') 

是:弃用2.6,还是有用的2.7,但如果你烦恼从Python 3的删除,切换到

os.command (<code string>) 

。 ..或更好地使用subprocess.call(在2.4中介绍)。

+1

但是'commands'已被弃用。 –