我希望阅读位于两个位置之一的文件。我想尝试第一个位置,如果失败,请尝试第二个位置。在python中我会使用try
然后如果返回IOError
file does not exist
,则使用except
作为第二个位置。我可以在scala中读取一个位置:
val vertices_raw = sqlContext.read.json("location_a/file.json")
我使用getOrElse尝试了以下内容:
val vertices_raw = sqlContext.read.json("location_a/file.json") getOrElse vertices_raw = sqlContext.read.json("location_b/file.json")
但是这没有编译
答案 0 :(得分:2)
你可以在Scala中做同样的事情
val vertices_raw: DataFrame = try {
sqlContext.read.json("location_a/file.json")
} catch {
case e: Exception => sqlContext.read.json("location_b/file.json")
}
或者
import scala.util.Try
val vertices_raw =
Try(sqlContext.read.json("location_a/file.json"))
.getOrElse(sqlContext.read.json("location_b/file.json"))