无法在hadoop流中找到文件

时间:2013-08-24 02:07:19

标签: hadoop-streaming

我与Hadoop Streaming - Unable to find file error有类似的问题。但是,那里提出的解决方案都没有起作用。

我的命令行是:

hadoop jar /mnt/shared/hadoop-streaming-1.0.3.jar -input /user/cloudera/mz_paf/batch_sk=1234 \
-output /user/cloudera/mz_paf/out \
-file /mnt/shared/java/paf-rules.properties -file /mnt/shared/java/pafvalid.py  \
-mapper "pafvalid.py paf-rules.properties 10"

这导致

java.io.IOException: Cannot run program "pafvalid.py": java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:214)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:66)

我已经尝试了其他SOF问题中提到的其他几种方法,包括使用HDFS位置输入文件:仍然找不到相同的文件错误。也尝试过将文件放在本地目录中以避免路径问题。仍然没有骰子。

1 个答案:

答案 0 :(得分:0)

我没有使用hadoop流直接将参数传递到命令行。如果我是你,我会先尝试将这些参数放在Python脚本中。

然后在这里更改命令行

-mapper "pafvalid.py paf-rules.properties 10"

-mapper /mnt/shared/java/pafvalid.py

如果你想出来,请纠正我