私は頑張りましたが、満足のいく答えは見つかりませんでした。たぶん私は何かが欠けているでしょう。助けてください。Spark Kafkaの直接ストリーミングでオフセットを手動でコミットする方法はありますか?
Sparkストリーミングアプリケーションではカフカのトピックを使用していますが、カフカのオフセットを先に進める前にエンドツーエンドの処理を行う必要があります。データベースを更新する。これは、ストリーミングシステム内のトランザクションサポートを構築し、各メッセージが処理(変換)され、さらに重要なことを保証するようなものです。
私はKafka DirectStreamについて読んでいます。 DirectStreamingモードでの堅牢な障害回復のために、スパークチェックポイントを有効にする必要があります(stores the offsets along with the checkpoints)。しかし、オフセット管理は内部的に行われます(["auto.offset.reset", "auto.commit.enable", "auto.offset.interval.ms"
]のようなKafka設定パラメータを設定します)。コミットのオフセットをどのようにカスタマイズできるかについては言及していません(たとえば、データベースをロードした後など)。言い換えれば、"auto.commit.enable"
をfalseに設定し、オフセットを管理できますか(DB接続と同じではありません)。
ご指導お願いします。
https://spark.apache.org/docs/2.2.0/streaming-kafka-0-10-integration.html#kafka-itself – void