InputDStream を使用して (並列化されていない) ストリーミングを実行するために、Apache Spark の長時間実行ストリーミング ジョブを設定しています。
私が達成しようとしているのは、(ユーザー定義のタイムアウトに基づいて) キューのバッチに時間がかかりすぎる場合、バッチをスキップして完全に破棄し、残りの実行を続行できるようにすることです。
Spark APIまたはオンライン内でこの問題の解決策を見つけることができませんでした-StreamingContext awaitTerminationOrTimeoutの使用を調べましたが、これによりタイムアウト時にStreamingContext全体が強制終了されますが、現在のバッチをスキップ/強制終了するだけです。
mapWithState の使用も検討しましたが、これはこのユース ケースには当てはまらないようです。最後に、StreamingListener を設定し、バッチの開始時にタイマーを開始し、特定のタイムアウトしきい値に達したときにバッチを停止/スキップ/強制終了することを検討していましたが、バッチを強制終了する方法はまだないようです。
ありがとう!