Scala Spark在CSV中读取文本中的换行符时创建新行

Scala Spark在CSV中读取文本中的换行符时创建新行,scala,csv,apache-spark,Scala,Csv,Apache Spark,所以,这个问题已经被讨论了很多,但是它应该在刚刚发布的Spark 2.2.0中修复。据我所知,wholeLine选项应该可以解决这个问题,但是我没有运气。问题是,当一个值中有一个换行符时,比如一个notes列中有一堆文本,而这些notes中有一个换行符,Spark会将其视为一个新行 下面是我用来从CSV读取数据的代码段 sparkSession.read .option("header", "true") .option("delimiter", ",") .option("mult

所以,这个问题已经被讨论了很多,但是它应该在刚刚发布的Spark 2.2.0中修复。据我所知,
wholeLine
选项应该可以解决这个问题,但是我没有运气。问题是,当一个值中有一个换行符时,比如一个notes列中有一堆文本,而这些notes中有一个换行符,Spark会将其视为一个新行

下面是我用来从CSV读取数据的代码段

sparkSession.read
  .option("header", "true")
  .option("delimiter", ",")
  .option("multiLine", "true")
  .option("inferSchema", true)
  .option("wholeFile", "true")
  .option("quoteMode", "ALL")
  .option("parserLib", "univocity")
  .csv(csvFilePath)
正如你所知道的,我使用了所有的选项,但是我仍然得到了错误的输出。我得到的输出如下,这些都应该是唯一的整数,但是它们被来自其他列、另一行的数据污染了。我对数据做了一些更改,但是您可以看到,在ID为的列中有字符串数据

+--------------------+
|                  ID|
+--------------------+
|             3876849|
|             3876872|
|          consistent|
|                4/30|
|,blah blah blah  ...|
|             3876876|
|             3876878|
|       5-6 days ago"|
|             3876879|
|             3876880|
|blah blah blah bl...|
|             3876893|
|*blah blah blah  ...|
|             3876900|
|             3876904|
+--------------------+
这真的让我很难堪,我还包括了build.sbt

name := "MyApp"
organization := "com.test"
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.8"

libraryDependencies ++= Seq(
  "org.apache.spark" % "spark-core_2.11" % "2.2.0" % "provided",
  "org.apache.spark" % "spark-sql_2.11" % "2.2.0" % "provided",
  "org.apache.spark" % "spark-hive_2.11" % "2.2.0" % "provided",
  "org.elasticsearch" % "elasticsearch-spark-20_2.11" % "5.5.0",
  "org.apache.logging.log4j" % "log4j-core" %"2.8.2"
)
assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case x => MergeStrategy.first
}

assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)

那么…你想解决的问题是什么?你能显示不符合你要求的输出吗?啊,是的,忘了提了。你也能显示输入吗?