aboutsummaryrefslogtreecommitdiff
path: root/sql/core
diff options
context:
space:
mode:
authorNong Li <nong@databricks.com>2015-12-15 16:55:58 -0800
committerMichael Armbrust <michael@databricks.com>2015-12-15 16:55:58 -0800
commit86ea64dd146757c8f997d05fb5bb44f6aa58515c (patch)
treec06998303d74c6cc15df207bd2ca0128477b7294 /sql/core
parentb24c12d7338b47b637698e7458ba90f34cba28c0 (diff)
downloadspark-86ea64dd146757c8f997d05fb5bb44f6aa58515c.tar.gz
spark-86ea64dd146757c8f997d05fb5bb44f6aa58515c.tar.bz2
spark-86ea64dd146757c8f997d05fb5bb44f6aa58515c.zip
[SPARK-12271][SQL] Improve error message when Dataset.as[ ] has incompatible schemas.
Author: Nong Li <nong@databricks.com> Closes #10260 from nongli/spark-11271.
Diffstat (limited to 'sql/core')
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala10
1 files changed, 9 insertions, 1 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala
index 542e4d6c43..8f8db31826 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala
@@ -481,10 +481,18 @@ class DatasetSuite extends QueryTest with SharedSQLContext {
val ds = Seq(2 -> 2.toByte, 3 -> 3.toByte).toDF("a", "b").as[ClassData]
assert(ds.collect().toSeq == Seq(ClassData("2", 2), ClassData("3", 3)))
}
-}
+ test("verify mismatching field names fail with a good error") {
+ val ds = Seq(ClassData("a", 1)).toDS()
+ val e = intercept[AnalysisException] {
+ ds.as[ClassData2].collect()
+ }
+ assert(e.getMessage.contains("cannot resolve 'c' given input columns a, b"), e.getMessage)
+ }
+}
case class ClassData(a: String, b: Int)
+case class ClassData2(c: String, d: Int)
case class ClassNullableData(a: String, b: Integer)
/**