我有一个与Hadoop Streaming 类似的问题 - 无法找到文件错误。然而,那里提出的解决方案都没有奏效。
我的命令行是:
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 位置:仍然找不到文件的相同错误。还尝试将文件放在本地目录中以避免路径问题。还是没有骰子。