2

私はElasticMapReduceを実行するAmazonの例を実行していますが、次のエラーが発生し続けます。

ジョブの起動中にエラーが発生しました。出力パスは既に存在します。

これが私が使用しているジョブを実行するためのコマンドです:

C:\ruby\elastic-mapreduce-cli>ruby elastic-mapreduce --create --stream \
     --mapper  s3://elasticmapreduce/samples/wordcount/wordSplitter.py \
     --input   s3://elasticmapreduce/samples/wordcount/input \
     --output  [A path to a bucket you own on Amazon S3, such as, s3n://myawsbucket] \
     --reducer aggregate

ここから例が出てきます

私は出力ディレクトリについてAmazonの指示に従っています。バケット名はs3n://mp.maptester321mark/です。私はこのURLの問題についての彼らの提案をすべて調べました

これが私のcredentials.json情報です:

{
"access_id": "1234123412",
"private_key": "1234123412",
"keypair": "markkeypair",
"key-pair-file": "C:/Ruby/elastic-mapreduce-cli/markkeypair",
"log_uri": "s3n://mp-mapreduce/",
"region": "us-west-2"
}
4

3 に答える 3

4

hadoopジョブは、既存のディレクトリをクローバーしません。実行する必要があります:

hadoop fs -rmr <output_dir>

ジョブの前に、AWSコンソールを使用してディレクトリを削除してください。

于 2012-07-30T00:49:36.503 に答える
4

使用する:

--output s3n://mp.maptester321mark/output

それ以外の:

--output s3n://mp.maptester321mark/

EMRは実行前に出力バケットを作成すると思います。つまり、指定--output s3n://mp.maptester321mark/した場合はすでに出力ディレクトリがあり、それがこのエラーが発生する理由である可能性があります。

于 2012-12-01T03:06:45.587 に答える
0

--->フォルダ(バケット)がすでに存在する場合は、それを削除します。

--->削除しても上記のエラーが発生する場合は、出力がこのs3n:// some_bucket_name / your_output_bucketのようになっていることを確認してください。このような場合は、EMRの問題です。私が思うに、最初にパス(some_bucket_name)にバケットを作成し、次に(your_output_bucket)を作成しようとします。

ありがとうハリ

于 2013-09-16T16:54:51.517 に答える