Streaming Hadoop流媒体grep不工作

Streaming Hadoop流媒体grep不工作,streaming,hadoop,Streaming,Hadoop,Grep似乎不适用于hadoop流媒体 用于: hadoop jar/usr/local/hadoop-0.20.2/contrib/streaming/hadoop-0.20.2-streaming.jar-input/user/root/tmp2/user.data-output/user/root/selected_data-mapper'/bin/grep 1938678460'-reducer'wc'-jobconf-mapred.output.compress=false 我得到:

Grep似乎不适用于hadoop流媒体

用于: hadoop jar/usr/local/hadoop-0.20.2/contrib/streaming/hadoop-0.20.2-streaming.jar-input/user/root/tmp2/user.data-output/user/root/selected_data-mapper'/bin/grep 1938678460'-reducer'wc'-jobconf-mapred.output.compress=false

我得到: java.lang.RuntimeException:PipeMapRed.waitOutputThreads():子进程失败,代码为1 位于org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311) 在org.apache.hadoop.streaming.PipeMapRed.mapRedFinished上(PipeMapRed.java:545) 位于org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:132) 位于org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57) 位于org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36) 位于org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358) 位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) 位于org.apache.hadoop.mapred.Child.main(Child.java:17

有什么想法吗

我还尝试: -制图员“cat”-减速器“/bin/grep 1938678460”(cat工作,grep不工作)

..我还检查了所有机器上的/bin/grep是否存在,它是否存在


Grep不起作用,或者我遗漏了什么?

我自己也没有尝试过,但是如果Grep没有找到什么东西,它会以一个非零的退出代码退出。如果一个映射不包含Grep要查找的字符串,你会得到一个非零的退出代码,hadoop会出错。可能类似于“/bin/Grep | | true”正常工作。

您的位置正确,并且此修复程序实际修复了它:-jobconf stream.non.zero.exit.is.failure=false