簡體   English   中英

Spark結構化流Kafka集成偏移管理

[英]Spark Structured Streaming Kafka Integration Offset management

該文件說:

enable.auto.commit:Kafka源不提交任何偏移量。

因此,我的問題是,在工作程序或分區崩潰/重新啟動的情況下:

  1. startingOffsets設置為最新,我們如何不丟失消息?
  2. startingOffsets設置為最早,我們如何不重新處理所有消息?

這似乎很重要。 有什么跡象表明如何處理嗎?

我也遇到了這個問題。

您對兩個選項的觀察是正確的,即

  • 如果startingOffsets設置為latest則可能會導致數據丟失
  • 如果startingOffsets設置為earliest則重復數據

然而...

通過添加以下選項,可以選擇檢查點:

.writeStream .<something else> .option("checkpointLocation", "path/to/HDFS/dir") .<something else>

如果發生故障,Spark將遍歷此檢查點目錄的內容,在接受任何新數據之前恢復狀態。

我發現相同的有用的參考

希望這可以幫助!

暫無
暫無

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

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