2017-10-20 126 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

相關問題