私は問題に遭遇し、質問を考えました。私は良い答えが見つかりませんでした。そして、私は意図的にAWS EMRステップを失敗させることができますか? 私はいくつかのコマンドライン引数でスパークステップとして追加されたSpark Scalaスクリプトを持っており、スクリプトの出力はS3に書き込まれます。手動でAWS EMRステップを失敗させる方法
しかし、コマンドライン引数の読み込みと処理に問題が生じた場合、スクリプトのロジックはスキップされ、スクリプトは終了します。しかし、EMRの場合、それは正常な動作です。ifブロックが入力されていないことはわかりません。
「失敗」の実行後も、ステップのステータスは「完了」に変更され、結果はS3に書き込まれずに正常に実行されたようです。
「失敗」ステータスになるようにステップを終了したいと思います。
私は例外をスローすることでそれを行うことができますし、私はEMRステップエラーログに自分のメッセージで対応する例外を見ることができます。しかし、より良い方法がありますか?手動ですべての例外を手動で処理したいと思います。
また、AWS SDKを使用して、何らかの形でプログラムの中でステップの失敗の理由を調べることはできますか?
残念ながら、私は現在、もうAWS EMRへのアクセス権を持っていない(ので、ちょうどこの答えをテストするために、個人のAWSアカウントの設定で任意のポイントが表示されません –
こんにちは、同様の問題に直面していますが、私のケースでは、-1を返す前に、dynamoDBにログメッセージを挿入しています。 (System.exit(-1))。ステップは失敗しますが、dynamoDBのこのレコードは2回挿入されています。 –