spark-instrumented-optimizer/project
Sean Zhong 9d7a47406e [SPARK-16853][SQL] fixes encoder error in DataSet typed select
## What changes were proposed in this pull request?

For DataSet typed select:
```
def select[U1: Encoder](c1: TypedColumn[T, U1]): Dataset[U1]
```
If type T is a case class or a tuple class that is not atomic, the resulting logical plan's schema will mismatch with `Dataset[T]` encoder's schema, which will cause encoder error and throw AnalysisException.

### Before change:
```
scala> case class A(a: Int, b: Int)
scala> Seq((0, A(1,2))).toDS.select($"_2".as[A])
org.apache.spark.sql.AnalysisException: cannot resolve '`a`' given input columns: [_2];
..
```

### After change:
```
scala> case class A(a: Int, b: Int)
scala> Seq((0, A(1,2))).toDS.select($"_2".as[A]).show
+---+---+
|  a|  b|
+---+---+
|  1|  2|
+---+---+
```

## How was this patch tested?

Unit test.

Author: Sean Zhong <seanzhong@databricks.com>

Closes #14474 from clockfly/SPARK-16853.
2016-08-04 19:45:47 +08:00
..
build.properties [SPARK-13834][BUILD] Update sbt and sbt plugins for 2.x. 2016-03-13 18:47:04 -07:00
MimaBuild.scala [SPARK-15085][STREAMING][KAFKA] Rename streaming-kafka artifact 2016-05-11 12:15:41 -07:00
MimaExcludes.scala [SPARK-16853][SQL] fixes encoder error in DataSet typed select 2016-08-04 19:45:47 +08:00
plugins.sbt [SPARK-15827][BUILD] Publish Spark's forked sbt-pom-reader to Maven Central 2016-06-09 11:04:08 -07:00
SparkBuild.scala [SPARK-16021] Fill freed memory in test to help catch correctness bugs 2016-07-06 16:30:25 -07:00