【发布时间】:2017-08-27 16:31:52
【问题描述】:
我正在使用如下的 csv 文件
"age;""job"";""marital"""
"58;""management"";""married"""
"44;""technician"";""single"""
由于额外的引号,spark.read.csv 没有给出干净的列。 所以我想到了使用 spark.read.textFile 来提供 Dataset [String]。我使用下面的代码删除引号并拆分它们。
case class MyCaseClass(age: String, job: String, marital: String)
val inputDS = spark.read.textFile(inpPath)
val cleanDS = inputDS.map(_.replaceAll(""""""", "").split(";"))
val seperatedDS = cleanDS.as[MyCaseClass] //fails
有没有办法实现这种数据集转换或更好的方法来拆分成多列? 目前我正在使用 RDD 来完成工作,但想知道 Dataset/Dataframe 的工作方式。
【问题讨论】:
标签: scala csv apache-spark spark-dataframe apache-spark-dataset