[ 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. {code:java} 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))) } {code} 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. > > {code:java} > 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))) > } {code} > 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