Repository: spark
Updated Branches:
  refs/heads/branch-1.6 a7fcc3117 -> 683e34ed9


[SPARK-11793][SQL] Dataset should set the resolved encoders internally for maps.

I also wrote a test case -- but unfortunately the test case is not working due 
to SPARK-11795.

Author: Reynold Xin <r...@databricks.com>

Closes #9784 from rxin/SPARK-11503.

(cherry picked from commit ed8d1531f93f697c54bbaecefe08c37c32b0d391)
Signed-off-by: Reynold Xin <r...@databricks.com>


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/683e34ed
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/683e34ed
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/683e34ed

Branch: refs/heads/branch-1.6
Commit: 683e34ed93c4a51e4af4da9f68ce6f240c4e46f8
Parents: a7fcc31
Author: Reynold Xin <r...@databricks.com>
Authored: Tue Nov 17 19:02:44 2015 -0800
Committer: Reynold Xin <r...@databricks.com>
Committed: Tue Nov 17 19:02:55 2015 -0800

----------------------------------------------------------------------
 .../src/main/scala/org/apache/spark/sql/Dataset.scala    |  3 ++-
 .../test/scala/org/apache/spark/sql/DatasetSuite.scala   | 11 +++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/683e34ed/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
----------------------------------------------------------------------
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala 
b/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
index 4cc3aa2..bd01dd4 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala
@@ -199,11 +199,12 @@ class Dataset[T] private[sql](
    * @since 1.6.0
    */
   def mapPartitions[U : Encoder](func: Iterator[T] => Iterator[U]): Dataset[U] 
= {
+    encoderFor[T].assertUnresolved()
     new Dataset[U](
       sqlContext,
       MapPartitions[T, U](
         func,
-        encoderFor[T],
+        resolvedTEncoder,
         encoderFor[U],
         encoderFor[U].schema.toAttributes,
         logicalPlan))

http://git-wip-us.apache.org/repos/asf/spark/blob/683e34ed/sql/core/src/test/scala/org/apache/spark/sql/DatasetSuite.scala
----------------------------------------------------------------------
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 c23dd46..a392234 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
@@ -73,6 +73,17 @@ class DatasetSuite extends QueryTest with SharedSQLContext {
       ("a", 2), ("b", 3), ("c", 4))
   }
 
+  ignore("Dataset should set the resolved encoders internally for maps") {
+    // TODO: Enable this once we fix SPARK-11793.
+    val ds: Dataset[(ClassData, Long)] = Seq(ClassData("one", 1), 
ClassData("two", 2)).toDS()
+        .map(c => ClassData(c.a, c.b + 1))
+        .groupBy(p => p).count()
+
+    checkAnswer(
+      ds,
+      (ClassData("one", 1), 1L), (ClassData("two", 2), 1L))
+  }
+
   test("select") {
     val ds = Seq(("a", 1) , ("b", 2), ("c", 3)).toDS()
     checkAnswer(


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to