簡體   English   中英

如何在Spark本身中使用Kafka在Spark流中實現偏移管理?

[英]How do I implement offset management in Spark streaming with Kafka inside Spark itself?

我必須在Spark中為從Kafka流讀取的Java中的流作業實現偏移管理。 但是,盡管此過程已在此處的官方文檔中進行了描述,但實際上並沒有提供如何實際存儲和檢索檢查點偏移量的代碼示例。 相反,它暗暗地說

如果啟用Spark檢查點,則偏移量將存儲在檢查點中。

這是否意味着如果我僅將檢查點目錄提供給Spark上下文,它將自動存儲偏移量? 當應用程序重新啟動時,如何檢索最后讀取的偏移量呢? 在此處鏈接的有關檢查點的詳細信息頁面也將所有內容留給了讀者,僅提供了設置檢查點目的地的語法。

這樣為如何使用檢查點提供了一些線索,但是在所有情況下,我都可以發現它們已用於累積計算內容而不存儲偏移量。 這個問題接近,但仍未描述。

請幫助我實現這一目標。

將偏移量保存在檢查點中對您不起作用,因為spark會將任務保存在檢查點中,因此代碼的升級要求刪除檢查點。 相反,您可以將偏移量保存在Zookeeper,Kafka,文件系統或任何數據庫中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM