Scala:如何合并数据框中的多个CSV文件

时间:2018-01-11 13:03:01

标签: scala

我正在编写以下代码来获取RDD中的csv文件,我希望将多个csv文件联合起来并希望存储在单个RDD变量中。我能够将一个csv文件的数据存储在RDD中,请帮助我如何联合多个csv文件并存储在单个RDD变量中。

val Rdd = spark.sparkContext.textFile(“File1.csv").map(_.split(","))

我期待像

这样的东西
 val Rdd = spark.sparkContext.textFile(“File1.csv").map(_.split(",")) union spark.sparkContext.textFile(“File2.csv").map(_.split(",")) 

1 个答案:

答案 0 :(得分:0)

如果您有大量文件我会建议

val rdd = List("file1", "file2", "file3", "file4", "file5")
  .map(spark.sparkContext.textFile(_))
  .reduce(_ union _)

或者,如果您只知道您有0个或更多文件:

val rdd = getListOfFilenames()
  .map(spark.sparkContext.textFile(_))
  .foldLeft(spark.sparkContext.emptyRDD[String])(_ union _)