如何将多个csv文件合并到单个csv文件中

时间:2018-01-12 07:00:00

标签: scala apache-spark apache-spark-sql spark-dataframe

我正在编写以下代码来转换多个CSV文件的并集并将组合数据写入新文件。但我面临一个错误。

val filesData=List("file1", "file2")
val dataframes = filesData.map(spark.read.option("header", true).csv(_))

val combined = dataframes.reduce(_ union _)
val data = combined.rdd

val head :Array[String]= data.first()

val memberDataRDD = data.filter(_(0) != head(0))
  

类型不匹配;发现:org.apache.spark.sql.Row required:Array [String]

2 个答案:

答案 0 :(得分:0)

您可以直接使用Spark读取多个路径:

spark.read.option("header", true).csv(filesData:_*)

答案 1 :(得分:0)

只要两个csv df具有相同的架构,就不会有任何问题

val df = spark.read.option(“ header”,“ true”)。csv(“ C:\ maheswara \ learning \ big data \ spark \ sample_data \ tmp”) val df1 = spark.read.option(“ header”,“ true”)。csv(“ C:\ maheswara \ learning \ big data \ spark \ sample_data \ tmp1”)

val dfs = List(df,df1) val dfUnion = dfs.reduce(_ union _)