[英]How to catch an exception that occurred on a spark worker?
val HTF = new HashingTF(50000)
val Tf = Case.map(row=>
HTF.transform(row)
).cache()
val Idf = new IDF().fit(Tf)
try
{
Idf.transform(Tf).map(x=>LabeledPoint(1,x))
}
catch {
case ex:Throwable=>
println(ex.getMessage)
}
這樣的代碼不起作用。
HashingTF / Idf屬於org.spark.mllib.feature。
我仍然遇到一個例外,說
org.apache.spark.SparkException: Failed to get broadcast_5_piece0 of broadcast_5
我在錯誤日志中看不到任何文件,該如何調試呢?
似乎該工作人員內存不足。
即時臨時修復:
運行應用程序而不進行緩存。
只需刪除.cache()
調試方法:
Spark UI可能具有完整的異常詳細信息。
檢查舞台詳細信息
在“執行程序”選項卡中檢查日志和線程轉儲
如果發現多個異常或錯誤,請嘗試按順序解決。
在大多數情況下,解決第一個錯誤將解決后續的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.