2017-04-24 65 views
1

我正在寻找如何将路径列表传递到sc.textFile(在斯卡拉),而不使用foreach传递列表到sc.text文件-scala-

例子:

myList :Seq[String] = ArrayBuffer (path1, path2, path3)

有没有办法做到:

var data = sc.textFile(myList)

+0

有没有这样的事情。 http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.SparkContext –

回答

0

尝试

var data = sc.textFile(myList.mkstring(",")) 

或者,我们可以看到每一个文本文件,然后union所结果的rdds:

import scala.util.{Try, Success} 

val rdds = myList.flatMap { f => 
    Try(sc.textFile(f)) match { 
    case Success(rdd) => Some(rdd) 
    case _ => None 
    } 
} 
val rdd = sc.union(rdds) 
+0

这可能会工作,因为'org.apache.hadoop.mapred.JobConf'用于火花。但我不认为这是建议使用这个。 –

+0

哦,挂起,它可能是CSV样式可能只适用于目录而不是文件路径。 – ImDarrenG

+0

@SarveshKumarSingh请您提供一个参考,以便我们做出明智的决定? – ImDarrenG