私は、リソースマネージャとしてYARNを使用し、2ノードでスパークジョブを実行しています。自分の条件が満たされていない場合は、意図的に手順を失敗する必要があるため、次の手順は構成ごとに実行されません。 これを達成するために、私はdynamoDBにログメッセージを挿入した後、カスタム例外をスローします。Spark、EMRでSparkExceptionをスローするときの不正な動作
正常に動作しますが、Dynamoのレコードが2回挿入されています。
以下は私のコードです。
if(<condition>) {
<method call to insert in dynamo>
throw new SparkException(<msg>);
return;
}
例外をスローする行を削除すると正常に動作しますが、手順は完了します。
ログメッセージを2度取得せずに、ステップを失敗させる方法を教えてください。
ありがとうございました。あなたのエラー状態がヒットし、二つの異なる執行で処理されたため、
よろしく、 Sorabh