diff --git a/dev/deps/spark-deps-hadoop-2.6 b/dev/deps/spark-deps-hadoop-2.6
index 2c68b73095..3b5a6945d8 100644
--- a/dev/deps/spark-deps-hadoop-2.6
+++ b/dev/deps/spark-deps-hadoop-2.6
@@ -180,7 +180,7 @@ stax-api-1.0.1.jar
stream-2.7.0.jar
stringtemplate-3.2.1.jar
super-csv-2.2.0.jar
-univocity-parsers-2.5.4.jar
+univocity-parsers-2.5.9.jar
validation-api-1.1.0.Final.jar
xbean-asm5-shaded-4.4.jar
xercesImpl-2.9.1.jar
diff --git a/dev/deps/spark-deps-hadoop-2.7 b/dev/deps/spark-deps-hadoop-2.7
index 2aaac600b3..64136baa01 100644
--- a/dev/deps/spark-deps-hadoop-2.7
+++ b/dev/deps/spark-deps-hadoop-2.7
@@ -181,7 +181,7 @@ stax-api-1.0.1.jar
stream-2.7.0.jar
stringtemplate-3.2.1.jar
super-csv-2.2.0.jar
-univocity-parsers-2.5.4.jar
+univocity-parsers-2.5.9.jar
validation-api-1.1.0.Final.jar
xbean-asm5-shaded-4.4.jar
xercesImpl-2.9.1.jar
diff --git a/sql/core/pom.xml b/sql/core/pom.xml
index 4db3fea008..93010c606c 100644
--- a/sql/core/pom.xml
+++ b/sql/core/pom.xml
@@ -38,7 +38,7 @@
com.univocity
univocity-parsers
- 2.5.4
+ 2.5.9
jar
diff --git a/sql/core/src/test/resources/test-data/comments.csv b/sql/core/src/test/resources/test-data/comments.csv
index 6275be7285..c0ace46db8 100644
--- a/sql/core/src/test/resources/test-data/comments.csv
+++ b/sql/core/src/test/resources/test-data/comments.csv
@@ -4,3 +4,4 @@
6,7,8,9,0,2015-08-21 16:58:01
~0,9,8,7,6,2015-08-22 17:59:02
1,2,3,4,5,2015-08-23 18:00:42
+~ comment in last line to test SPARK-22516 - do not add empty line at the end of this file!
\ No newline at end of file
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/csv/CSVSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/csv/CSVSuite.scala
index e439699605..4fe45420b4 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/csv/CSVSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/execution/datasources/csv/CSVSuite.scala
@@ -483,18 +483,21 @@ class CSVSuite extends QueryTest with SharedSQLContext with SQLTestUtils {
}
test("commented lines in CSV data") {
- val results = spark.read
- .format("csv")
- .options(Map("comment" -> "~", "header" -> "false"))
- .load(testFile(commentsFile))
- .collect()
+ Seq("false", "true").foreach { multiLine =>
- val expected =
- Seq(Seq("1", "2", "3", "4", "5.01", "2015-08-20 15:57:00"),
- Seq("6", "7", "8", "9", "0", "2015-08-21 16:58:01"),
- Seq("1", "2", "3", "4", "5", "2015-08-23 18:00:42"))
+ val results = spark.read
+ .format("csv")
+ .options(Map("comment" -> "~", "header" -> "false", "multiLine" -> multiLine))
+ .load(testFile(commentsFile))
+ .collect()
- assert(results.toSeq.map(_.toSeq) === expected)
+ val expected =
+ Seq(Seq("1", "2", "3", "4", "5.01", "2015-08-20 15:57:00"),
+ Seq("6", "7", "8", "9", "0", "2015-08-21 16:58:01"),
+ Seq("1", "2", "3", "4", "5", "2015-08-23 18:00:42"))
+
+ assert(results.toSeq.map(_.toSeq) === expected)
+ }
}
test("inferring schema with commented lines in CSV data") {