Spark Scala:如何删除每行的双引号,包括标题?
我从Spark开始,需要解析的文件具有以下形状:Spark Scala:如何删除每行的双引号,包括标题?,scala,apache-spark,Scala,Apache Spark,我从Spark开始,需要解析的文件具有以下形状: "VARIABLE;MOD;LIBMOD" "CDEXE;6;PBS between 25000 and 50000 euros" 如何从中提取数据集[ValueDescriptor] 值描述符是: case-class-ValueDescriptor(变量名称:String,值:String,标签:String) 我只找到了如何删除列的引号,而不是每行的引号 到目前为止,我使用的代码如下: sparkSession .re
"VARIABLE;MOD;LIBMOD"
"CDEXE;6;PBS between 25000 and 50000 euros"
如何从中提取数据集[ValueDescriptor]
值描述符是:
case-class-ValueDescriptor(变量名称:String,值:String,标签:String)
我只找到了如何删除列的引号,而不是每行的引号
到目前为止,我使用的代码如下:
sparkSession
.read
.option("header", "true")
.option("delimiter", ";")
.csv("file.txt")
.withColumnRenamed("VARIABLE", "variableName")
.withColumnRenamed("MOD", "value")
.withColumnRenamed("LIBMOD", "label")
.as[ValueDescriptor]
你可以先把它读成文本,去掉多余的引号
val txtDF = sparkSession
.read
.textFile("file.txt")
.map(_.stripPrefix("\"").stripSuffix("\""))
然后将其作为CSV加载
sparkSession
.read
.option("header", "true")
.option("delimiter", ";")
.csv(txtDF)
.withColumnRenamed("VARIABLE", "variableName")
.withColumnRenamed("MOD", "value")
.withColumnRenamed("LIBMOD", "label")
.as[ValueDescriptor]
非常感谢,这很简单,而我正在尝试使用withColumns和functions的怪异东西!