[ 
https://issues.apache.org/jira/browse/SPARK-49689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

harikishore updated SPARK-49689:
--------------------------------
    Description: 
Spark added TimestampNTZType support since 3.4.0. 
[https://spark.apache.org/docs/3.4.0/api/java/org/apache/spark/sql/types/TimestampNTZType.html]

However, EventTimeWatermark with TimestampNTZType fails analysis check.
{quote}case etw: EventTimeWatermark =>
            etw.eventTime.dataType match {
              case s: StructType
                if s.find(_.name == "end").map(_.dataType) == 
Some(TimestampType) =>
              case _: TimestampType =>
              case _ =>
                etw.failAnalysis(
                  errorClass = "EVENT_TIME_IS_NOT_ON_TIMESTAMP_TYPE",
                  messageParameters = Map(
                    "eventName" -> toSQLId(etw.eventTime.name),
                    "eventType" -> toSQLType(etw.eventTime.dataType)))
            }{quote}
 

Both *FilterPushdownSuite.scala* and *AnalysisSuite.scala* don't explicitly 
avoid timestampNTZ. Moreover, from *StatefulAggregationStrategy* --> 
{*}EventTimeWatermarkExec{*}, even if the eventTime is of type 
TimestampNTZType, it should be handled as per 
{*}datetimeExpressions{*}.{*}scala{*}. It is also supported in Window 
Expressions {*}WindowSpecDefinition ->  isValidFrameType{*}.

  was:
Spark added TimestampNTZType support since 3.4.0. 
[https://spark.apache.org/docs/3.4.0/api/java/org/apache/spark/sql/types/TimestampNTZType.html]

However, EventTimeWatermark with TimestampNTZType fails analysis check.
{quote}case etw: EventTimeWatermark =>
etw.eventTime.dataType match {
case s: StructType
if s.find(_.name == "end").map(_.dataType) == Some(TimestampType) =>
case _: TimestampType =>
case _ =>
etw.failAnalysis(
errorClass = "EVENT_TIME_IS_NOT_ON_TIMESTAMP_TYPE",
messageParameters = Map(
"eventName" -> toSQLId(etw.eventTime.name),
"eventType" -> toSQLType(etw.eventTime.dataType)))
}{quote}
 

Both *FilterPushdownSuite.scala* and *AnalysisSuite.scala* don't explicitly 
avoid timestampNTZ. Moreover, from *StatefulAggregationStrategy* --> 
{*}EventTimeWatermarkExec{*}, even if the eventTime is of type 
TimestampNTZType, it should be handled as per 
{*}datetimeExpressions{*}.{*}scala{*}. It is also supported in Window 
Expressions {*}WindowSpecDefinition ->  isValidFrameType{*}.


> EventTimeWatermark to support TimestampNTZType
> ----------------------------------------------
>
>                 Key: SPARK-49689
>                 URL: https://issues.apache.org/jira/browse/SPARK-49689
>             Project: Spark
>          Issue Type: Bug
>          Components: Structured Streaming
>    Affects Versions: 3.4.0, 3.4.1, 3.5.0, 3.5.1, 3.5.2, 3.4.3
>            Reporter: harikishore
>            Priority: Major
>             Fix For: 3.5.2
>
>
> Spark added TimestampNTZType support since 3.4.0. 
> [https://spark.apache.org/docs/3.4.0/api/java/org/apache/spark/sql/types/TimestampNTZType.html]
> However, EventTimeWatermark with TimestampNTZType fails analysis check.
> {quote}case etw: EventTimeWatermark =>
>             etw.eventTime.dataType match {
>               case s: StructType
>                 if s.find(_.name == "end").map(_.dataType) == 
> Some(TimestampType) =>
>               case _: TimestampType =>
>               case _ =>
>                 etw.failAnalysis(
>                   errorClass = "EVENT_TIME_IS_NOT_ON_TIMESTAMP_TYPE",
>                   messageParameters = Map(
>                     "eventName" -> toSQLId(etw.eventTime.name),
>                     "eventType" -> toSQLType(etw.eventTime.dataType)))
>             }{quote}
>  
> Both *FilterPushdownSuite.scala* and *AnalysisSuite.scala* don't explicitly 
> avoid timestampNTZ. Moreover, from *StatefulAggregationStrategy* --> 
> {*}EventTimeWatermarkExec{*}, even if the eventTime is of type 
> TimestampNTZType, it should be handled as per 
> {*}datetimeExpressions{*}.{*}scala{*}. It is also supported in Window 
> Expressions {*}WindowSpecDefinition ->  isValidFrameType{*}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to