2016-05-24 8 views
0

kafkaからのスパークストリーミング直接アプローチでは、カフカオフセットレベルの範囲を知る方法があります。しかし、私が定期的にオフセットレベルを維持したいのであれば、必要に応じてオフセットからアイテムを再処理することができます。私は各メッセージを処理している間、rddのメッセージのオフセットを取り出す方法はありますか? など。オフセット割り当てでは、RDDシステムの各レコードを処理中にエラーやジョブが終了した場合、RDDの開始オフセットと終了オフセットがあります( )。今度は、失敗したレコードから処理を開始したい場合は、最後に成功したオフセットを最初に保存して、次回に開始するときに開始する方法を教えてください。スパークストリーミングは、処理中に定期的にkafkaオフセットを維持します

答えて

0

リリースされたSpark 1.3には、この低レベルの複雑さを隠す新しいdirect approach (no receiver)があります。障害の場合、十分なKafka保持メッセージは、再起動後に自動的にKafkaから回復できます。

+0

私は、メッセージを処理する際に定期的に外部からオフセットされたkafkaを保存できる能力を探していました。このようにして、午前1時から2日後に再処理したいデータがあるかどうかを知ることができます。オフセットを定期的に保存するため、オフセットをいくつか取ります。 –

関連する問題