2017-04-24 60 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