0

Amazon EMR でジョブを実行すると、S3 で出力が得られません。

引数を指定しました:

-inputfile s3n://exdsyslab/data/file.txt -outputdir s3n://exdsyslab/output

ジョブログを確認すると、ジョブが正常に完了したことがわかります。しかし、私のバケット exdsyslab の出力フォルダーには出力がありません。

また、もう1つ試してみました。

2 つのジョブをチェーンしました: ジョブ フローの作成中に引数を指定しました:

-inputfile s3n://exdsyslab/data/file.txt -outputdir s3n://exdsyslab/result -outputdir1 s3n://exdsyslab/result1

2 番目のジョブの入力は、最初のジョブの出力です。

プログラムの実行中に、2 番目のジョブで次の例外に直面しました。

The output folder, "result", already exists.

これは、ディレクトリがチェーン内の最初のジョブによって作成されたために発生しました。mapreduce チェーンの 2 番目のジョブの入力と出力を指定するにはどうすればよいですか?

引数で指定された s3 バケットに出力があるのはなぜですか?

4

1 に答える 1

0

正しい出力を得るには、これを使用します。

-inputfile s3n://exdsyslab/data/file.txt -output s3n://exdsyslab/output

出力ディレクトリは「-output」で指定されることに注意してください。

チェーン ジョブの場合: 指定した方法では実行できません。既存のジョブを実行するには、複数のステップを作成する必要があります。この他の回答が役立つ場合があります: https://stackoverflow.com/a/11109592/1203129

特定のケースでは、入出力ディレクトリは次のようにする必要があります。

ステップ1:

 -inputfile s3n://exdsyslab/data/file.txt -output s3n://exdsyslab/result 

ステップ2:

 -input s3n://exdsyslab/result -output s3n://exdsyslab/result1
于 2013-02-12T22:39:10.603 に答える