2017-09-27 52 views
3

如何在catch spark中的給定位置找不到我的文件,如何捕獲異常?Spark CSV數據幀加載,找不到文件

try { 
    val df = sqlCxt.read.format("csv") 
    .option("delimiter", "|") 
    .load("C:/Users/swapnil.shirke/Downloads/dataset/u.item"); 

} 
catch { 

case ex: FileNotFoundException => { 
println(" file missing exception") 
} 
case ex: Exception => ex.printStackTrace() 
} 

給定try catch condition not working。

+0

有你在執行日誌檢查是否該消息打印與否? –

回答

2

在Scala中,如果文件路徑不正確,則例外是org.apache.spark.sql.AnalysisException: Path does not exist: ....所以正確的做法是

try { 
    val df = sqlCxt.read.format("csv") 
    .option("delimiter", "|") 
    .load("/Users/swapnil.shirke/Downloads/dataset/u.item"); 

} 
catch { 
    case ex: AnalysisException => { 
    println(" file missing exception") 
    } 
    case ex: Exception => ex.printStackTrace() 
} 

我希望答案是有幫助的

+0

感謝它爲我工作:) –

+0

感謝您的upvote和接受:) –