Я использую Kafka 0.8.2
для получения данных из AdExchange, затем я использую Spark Streaming 1.4.1
для хранения данных до MongoDB
.
Моя проблема в том, что я перезапускаю свой Spark Streaming
Job, например, обновляю новую версию, исправляю ошибку, добавляю новые функции. Он будет продолжать читать последние offset
of kafka
в то время, после чего я потеряю данные. AdX нажимаем на kafka во время перезапуска задания.
Я пробую что-то вроде auto.offset.reset -> smallest
, но оно будет получать от 0 до > последнего, тогда данные были огромны и дублировались в db.
Я также пытаюсь установить конкретные group.id
и consumer.id
в Spark
, но это то же самое.
Как сохранить последнюю искру offset
, потребляемую до zookeeper
или kafka
, затем можно прочитать от этого до последнего offset
?