2017-10-20 103 views
0

我正在使用火花消费者(从spa‌​rk-streaming-kafka_2‌​.10版本1.6.0)。Apache Spark Time基于Kafka off set

我的火花发射器从kafka队列侦听5分区的消息。假设我停止了我的火花应用程序,然后根据我的配置读取最小或最大的偏移值。但是我的Saprk应用程序应该在我停止之后读取meesage。例如,我停止过程3.00PM,并在3.30PM启动火花发射器。然后,我想阅读下午3点至下午3点30分之间的所有消息。

+0

你使用什么版本的火花流媒体(标准/结构化)?如果标准:你使用基于接收机的appoach还是直接流式传输? – Mariusz

+0

org.apache.spark温泉RK-流-kafka_2 0.10<版本锡永> 1.6.0 – user1488378

回答

0

我希望你使用卡夫卡图书馆的高级消费者。在这种情况下,他们会定期提交补偿,卡夫卡本身会在Zookeeper或某些Kafka主题中维护补偿记录。所以,当你在一段时间后重新启动组中的消费者时,他们将从他们离开的地方开始。偏移量记录用作消费者在重新启动或重新平衡时应该开始消费的位置的标记。偏移提交可能会自动发生或可能会被明确提交。在任何一种情况下,消息处理和偏移量提交都不会以原子方式发生,因此消费者重新启动时很少有消息会再次被处理。

的最小和最大偏移值只相关的,当我们启动消费群,在消费者中的第一次,因为没有偏移记录可供消费者信号他们从偏移量(的分区),他们应该开始消费。

+0

我使用火花消费者( org.apache.spark火花流kafka_2.10 1.6.0),如果我不会给予任何偏移默认其“auto.offset.reset”=“最大”。我不能够消耗之间的时间段,当停止过程和开始再次。 – user1488378

相关问题