0
我试图得到一些RDDS的联合工会。 RDD正通过SparkContext.textFile读入,但有些可能不存在于文件系统中。寻找RDDS的可能不存在
val rdd1 = Try(Repository.fetch(data1Path))
val rdd2 = Try(Repository.fetch(data2Path))
val rdd3 = Try(Repository.fetch(data3Path))
val rdd4 = Try(Repository.fetch(data4Path))
val all = Seq(rdd1, rdd2, rdd3, rdd4)
val union = sc.union(all.map {case Success(r) => r})
val results = union.filter(some-filter-logic).collect
但是由于懒惰的评估,所有这些Try
语句评估为Success
不管文件是否存在与否,和我在评价结束了一个FileNotFoundException
时collect
被调用。
有没有办法解决这个问题?