jingz-db commented on code in PR #49488: URL: https://github.com/apache/spark/pull/49488#discussion_r1951698877
########## sql/connect/common/src/main/scala/org/apache/spark/sql/connect/KeyValueGroupedDataset.scala: ########## @@ -526,6 +553,71 @@ private class KeyValueGroupedDatasetImpl[K, V, IK, IV]( } } + override protected[sql] def transformWithStateHelper[U: Encoder, S: Encoder]( + statefulProcessor: StatefulProcessor[K, V, U], + timeMode: TimeMode, + outputMode: OutputMode, + initialState: Option[sql.KeyValueGroupedDataset[K, S]] = None, + eventTimeColumnName: String = ""): Dataset[U] = { + val outputEncoder = agnosticEncoderFor[U] + val stateEncoder = agnosticEncoderFor[S] + + val inputEncoders: Seq[AgnosticEncoder[_]] = Seq(kEncoder, stateEncoder, ivEncoder) + val dummyGroupingFunc = SparkUserDefinedFunction( Review Comment: Please ignore my comments above. I found `UdfPacket` in the CommonInlineUserDefinedFunction is doing java serialization on `AnyRef` type similar to what we are trying to do here for `StatefulProcessor`. So I remove the dummy udf implementation above and take advantage of `UdfPacket` instead. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org