Spark Scala:如何删除每行的双引号,包括标题?

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

我从Spark开始,需要解析的文件具有以下形状:

"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的怪异东西!