取消
顯示的結果
而不是尋找
你的意思是:

火花流——檢查點狀態EOF例外

RohanB
新的貢獻者三世

我有一個火花結構化流的工作從2δ表讀取流,處理數據,然後寫到第三δ表。磚的工作正在運行服務豐富。

有時工作失敗有以下例外。例外是間歇性的,到目前為止,我還沒有能夠重現這個問題的步驟。這個異常的原因可以什麼?

引起的:java。IOException:錯誤讀取流狀態文件dbfs: / checkpoint_loc /州/ 0/183/26。快照HDFSStateStoreProvider [id = (op = 0 = 183), dir = dbfs: / checkpoint_loc /狀態/ 0/183):過早EOF

org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.readSnapshotFile (HDFSBackedStateStoreProvider.scala: 642)

在org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider。anonfun loadMap美元3美元(HDFSBackedStateStoreProvider.scala: 437)

scala.Option.orElse (Option.scala: 447)

在org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider。anonfun loadMap美元2美元(HDFSBackedStateStoreProvider.scala: 437)

org.apache.spark.util.Utils .timeTakenMs美元(Utils.scala: 642)

org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.loadMap (HDFSBackedStateStoreProvider.scala: 417)

org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.getLoadedMapForStore (HDFSBackedStateStoreProvider.scala: 245)

org.apache.spark.sql.execution.streaming.state.HDFSBackedStateStoreProvider.getStore (HDFSBackedStateStoreProvider.scala: 229)

在org.apache.spark.sql.execution.streaming.state.StateStore $ . get (StateStore.scala: 500)

org.apache.spark.sql.execution.streaming.state.StateStoreRDD.compute (StateStoreRDD.scala: 125)

org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 380)

org.apache.spark.rdd.RDD.iterator (RDD.scala: 344)

org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 60)

org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 380)

org.apache.spark.rdd.RDD.iterator (RDD.scala: 344)

在org.apache.spark.scheduler.ResultTask。anonfun runTask美元3美元(ResultTask.scala: 75)

在美元com.databricks.spark.util.ExecutorFrameProfiler知根知底(ExecutorFrameProfiler.scala: 110)

在org.apache.spark.scheduler.ResultTask。anonfun runTask美元1美元(ResultTask.scala: 75)

在美元com.databricks.spark.util.ExecutorFrameProfiler知根知底(ExecutorFrameProfiler.scala: 110)

org.apache.spark.scheduler.ResultTask.runTask (ResultTask.scala: 55)

org.apache.spark.scheduler.Task.doRunTask (Task.scala: 150)

在org.apache.spark.scheduler.Task。anonfun運行$ 1美元(Task.scala: 119)

在美元com.databricks.spark.util.ExecutorFrameProfiler知根知底(ExecutorFrameProfiler.scala: 110)

org.apache.spark.scheduler.Task.run (Task.scala: 91)

在org.apache.spark.executor.Executor TaskRunner。美元anonfun運行13美元(Executor.scala: 813)

org.apache.spark.util.Utils .tryWithSafeFinally美元(Utils.scala: 1620)

在org.apache.spark.executor.Executor TaskRunner。美元anonfun運行4美元(Executor.scala: 816)

在scala.runtime.java8.JFunction0專門sp.apply美元(美元JFunction0 mcV $ sp.java: 23)

在美元com.databricks.spark.util.ExecutorFrameProfiler知根知底(ExecutorFrameProfiler.scala: 110)

org.apache.spark.executor.Executor TaskRunner.run美元(Executor.scala: 672)

java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java: 1149)

java.util.concurrent.ThreadPoolExecutor Worker.run美元(ThreadPoolExecutor.java: 624)

java.lang.Thread.run (Thread.java: 748)

8回答說8

RohanB
新的貢獻者三世

嗨@Jose岡薩雷斯,

你需要任何更多的信息關於代碼嗎?知道是什麼原因這個問題嗎?

感謝和問候,

羅翰

嗨@Rohan Bawdekar,

你使用DBFS蒙特在檢查站,這個指的是什麼?存儲?

謝謝你!

——穆

RohanB
新的貢獻者三世

嗨@Jose岡薩雷斯,

是的,它指的是GCP存儲。

感謝和問候,

羅翰

您正在使用開源HDFS狀態存儲提供商。有一個問題在閱讀你的檢查站。我要強烈推薦使用RocksDB狀態存儲https://docs.www.eheci.com/spark/latest/structured-streaming/production.html configure-rocksdb-stat……

流狀態存儲提供商:https://github.com/apache/spark/tree/master/sql/core/src/main/scala/org/apache/spark/sql/execution/s..。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map