2017-06-12 133 views
0

我正在使用Python程序運行hadoop mapreduce作業,該程序爲mapreduce作業創建不同的輸入路徑作爲參數。我目前檢查的hadoop fs的路徑存在,在我通過這些輸入路徑到映射精簡,使用命令:禁止命令行輸出hadoop fs命令

hadoop fs -test -e 'filename' 

我的Python程序然後使用命令行通信,並確定是否存在該文件(的-test當文件存在時返回0,否則返回大於1的整數)。由於Python程序正在檢查路徑存在並將所有不存在的路徑輸出到單獨的.txt文檔,因此我不需要知道哪些路徑不存在作爲命令行警告。

我想知道如何抑制(或忽略)自動Hadoop的FS輸出:

test: 'fileName': No such file or directory 

,因爲我輸入的路徑數量龐大,不少人都在Hadoop中FS不存在。

回答

0

重定向錯誤/警告/dev/null/

hdfs dfs -test -e I/dont/exist 2>/dev/null 
+0

的命令是細。另外,最後我檢查了一下,測試只返回一個數字,並且不在屏幕上打印任何東西。你使用的是哪個版本的hadoop? – philantrovert

+0

我使用hadoop 2.6.0多一點研究後,我相信輸出實際上是從Python包子進程,因爲我用它來從我的Python類中調用命令行。這是我現在的位置:[從子進程輸出的超壓](https://stackoverflow.com/questions/7082623/suppress-output-from-subprocess-popen) – matt123788

+0

看起來像是自從'hadoop以來的正確位置test'不會將任何內容打印到標準輸出。 – philantrovert