Можно ли достичь ровно одного раза, обратившись к теме Кафки в приложении Spark Streaming?
Для достижения ровно одного раза вам понадобятся следующие вещи:
- Ровно один раз от производителя Kafka до брокера Kafka.Это достигается идемпотентным производителем Кафки 0,11. Но готов ли Kafka 0.11 к Spark Streaming? Может ли это быть достигнуто? Из-за сбоев приложения Spark Streaming приложение может прочитать некоторые данные дважды, верно?В качестве решения, могу ли я сохранить результаты вычислений и последнее обработанное событие uuid в Redis транзакции?
- Точно один раз при передаче данных приложением Spark Streaming.Это готовое свойство RDD.
- Ровно один раз при сохранении результатов.Решается во 2-м утверждении транзакцией, сохраняющей последнее событие uuid для Redis.