Spark文件加载 - scala

时间:2016-10-20 13:44:01

标签: json scala

我希望阅读位于两个位置之一的文件。我想尝试第一个位置,如果失败,请尝试第二个位置。在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")

但是这没有编译

1 个答案:

答案 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"))