2015-06-15 34 views
0
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 

我看不到我的任何錯誤日誌文件中的異常,我該如何調試呢?

回答

0

看起來工人用完了內存。

即時臨時的解決辦法:

運行應用程序,而不緩存。

只是刪除.cache()

如何調試:

大概星火UI可能具有完整的異常詳細信息。

  • 檢查階段的細節

  • 支票執行人標籤

如果發現多個異常或錯誤日誌和線程轉儲盡力解決順序。

大部分時間解決第一個錯誤將解決後續的錯誤。