2017-06-12 69 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