0

Hadoop Streaming - Unable to find file エラーと同様の問題があります。ただし、そこに提示されているソリューションはどれも機能していません。

私のコマンドラインは次のとおりです。

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)

入力ファイルにHDFSの場所を使用するなど、他のSOFの問題でも言及されている他のいくつかのアプローチを試しました:まだ同じエラーのファイルが見つかりません。また、パスの問題を回避するために、ファイルをローカル ディレクトリに配置しようとしました。まだサイコロはありません。

4

1 に答える 1

0

Hadoop ストリーミングを使用して、引数をコマンド ラインに直接渡しませんでした。もし私があなたなら、最初にその引数を Python スクリプト内に入れようとします。

次に、ここでコマンドラインを変更します

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

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

あなたがそれを理解したら、私を修正してください

于 2013-10-12T14:54:20.310 に答える