我想在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'已被棄用。 –