我Kafka 0.8.2用于从 AdExchange 接收数据,然后Spark Streaming 1.4.1将数据存储到MongoDB.
我的问题是当我重新启动我的Spark Streaming工作时,例如更新新版本、修复错误、添加新功能。它将继续读取当时最新offset的kafka数据,然后在重新启动作业期间我将丢失 AdX 推送到 kafka 的数据。
我尝试了类似的auto.offset.reset -> smallest方法,但它会从 0 -> last 然后数据很大并且在 db 中重复。
我也尝试设置特定的group.id和consumer.id,Spark但它是一样的。
如何将offset消耗的最新火花保存到zookeeper或者kafka然后可以从该火花读取到最新offset?