共用方式為


STATE_REPARTITION_INVALID_CHECKPOINT 錯誤條件

SQLSTATE:55019

所提供的檢查點位置<checkpointLocation>「''處於無效狀態。

最後批次棄置重新分區

最後一個批次 ID <lastBatchId> 是重分區批次且具有 <lastBatchShufflePartitions> 洗牌分區,但未成功完成。

你現在正在請求將分割區重新分配為<numPartitions>洗牌分區。

請用與之前相同數量的洗牌分區重試。

一旦成功完成,你就可以重新分割到另一個數量的洗牌分割區。

最後一批失敗

最後一批 ID <lastBatchId> 沒成功完成。 請確保串流查詢成功完成後再重新分割。

如果使用 ProcessingTime 觸發器,你可以改用 AvailableNow 觸發器,這樣可以確保查詢本身能成功終止。

如果你想跳過這個檢查,可以在 repartition 中將 enforceExactlyOnceSink 參數設為 false。

但這可能會導致在使用恰好一次的接收器時,因失敗的批次而產生重複的輸出記錄。

缺少偏移序列元數據 (MISSING_OFFSET_SEQ_METADATA)

批次 ID <batchId> 缺少 OffsetSeq(v<version>)元資料。 請確認檢查點來自支援的 Spark 版本(Spark 4.0+)或 DBR 14.3+。

未找到批次

檢查點位置尚未記錄到微批次。 在重新分割前,請確保串流查詢至少成功完成一個微批次。

NO_COMMITTED_BATCH

沒有明確的微批次。 在重新分割前,請確保串流查詢至少成功完成一個微批次。

OFFSET_SEQ_NOT_FOUND (位移序列未找到)

找不到批次 ID <batchId> 的偏移序列條目。 你可能設定了一個非常低的值

在執行串流查詢時,您設定了「spark.sql.streaming.minBatchesToRetain」配置,或者刪除了檢查點位置的檔案。

分散分區已匹配

最後提交的批次(id=<batchId>)中洗牌分割區的數量與請求的 <numPartitions> 分割區數量相同。

因此,已經達到請求的分區數量,所以不執行任何操作。

不支援的提交元數據版本 (UNSUPPORTED_COMMIT_METADATA_VERSION)

不支援的提交元資料版本 <version>。 請確認檢查點來自支援的 Spark 版本(Spark 4.0+)或 DBR 14.3+。

不支援的偏移序列版本

不支援的偏移序列版本為 <version>。 請確認檢查點來自支援的 Spark 版本(Spark 4.0+)或 DBR 14.3+。

UNSUPPORTED_PROVIDER

<provider> 不支援