我想在hdfs中获取一些目录的统计信息。我正在尝试获取每个文件/子目录的大小和大小。我开始认为我可以在bash中做到这一点。来自python的Hadoop命令
我只有这么多,我很快意识到python可能是一个更好的选择。但我无法弄清楚如何执行hadoop命令,如hadoop fs -ls from python
我想在hdfs中获取一些目录的统计信息。我正在尝试获取每个文件/子目录的大小和大小。我开始认为我可以在bash中做到这一点。来自python的Hadoop命令
我只有这么多,我很快意识到python可能是一个更好的选择。但我无法弄清楚如何执行hadoop命令,如hadoop fs -ls from python
请参阅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中介绍)。
在那里你可以单独获得的返回状态,输出和错误消息。
OR 执行python命令:
输出= subprocess.Popen([ “hadoop的”, “FS”, “-ls”, “/用户”],标准输出= subprocess.PIPE,标准错误=子进程。 PIPE) for line in output.stdout: ... print line ...
但是'commands'已被弃用。 –