[
https://issues.apache.org/jira/browse/SPARK-17212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15699699#comment-15699699
]
Herman van Hovell commented on SPARK-17212:
-------------------------------------------
This fixes union, but not greatest/least. The latter need to implement
{{ImplicitCastInputTypes}} for it to work. [~hyukjin.kwon] is this by design?
> TypeCoercion support widening conversion between DateType and TimestampType
> ---------------------------------------------------------------------------
>
> Key: SPARK-17212
> URL: https://issues.apache.org/jira/browse/SPARK-17212
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Reporter: Hyukjin Kwon
> Assignee: Hyukjin Kwon
> Fix For: 2.1.0
>
>
> Currently, type-widening does not work between {{TimestampType}} and
> {{DateType}}.
> This applies to {{SetOperation}}, {{Union}}, {{In}}, {{CaseWhen}},
> {{Greatest}}, {{Leatest}}, {{CreateArray}}, {{CreateMap}} and {{Coalesce}}.
> For a simple example,
> {code}
> Seq(Tuple2(new Timestamp(0), new Date(0))).toDF("a",
> "b").selectExpr("greatest(a, b)").show()
> {code}
> {code}
> cannot resolve 'greatest(`a`, `b`)' due to data type mismatch: The
> expressions should all have the same type, got GREATEST(timestamp, date)
> {code}
> or Union as below:
> {code}
> val a = Seq(Tuple1(new Timestamp(0))).toDF()
> val b = Seq(Tuple1(new Date(0))).toDF()
> a.union(b).show()
> {code}
> {code}
> Union can only be performed on tables with the compatible column types.
> DateType <> TimestampType at the first column of the second table;
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]