hvanhovell commented on code in PR #40796: URL: https://github.com/apache/spark/pull/40796#discussion_r1181870460
########## connector/connect/client/jvm/src/main/scala/org/apache/spark/sql/Dataset.scala: ########## @@ -1271,10 +1268,35 @@ class Dataset[T] private[sql] ( val colNames: Seq[String] = col1 +: cols new RelationalGroupedDataset( toDF(), - colNames.map(colName => Column(colName).expr), + colNames.map(colName => Column(colName)), proto.Aggregate.GroupType.GROUP_TYPE_GROUPBY) } + /** + * (Scala-specific) Reduces the elements of this Dataset using the specified binary function. + * The given `func` must be commutative and associative or the result may be non-deterministic. + * + * @group action + * @since 3.5.0 + */ + def reduce(func: (T, T) => T): T = { + val list = this + .groupByKey(UdfUtils.groupAllUnderBoolTrue())(PrimitiveBooleanEncoder) Review Comment: Not sure if this is a stellar idea, the problem is that some aggregation implementations are optimized for keyless aggregation. By adding a dummy key (which is very hard to detect due to the use of a udf), we won't be able to use these code paths. Can we try to use the ReduceAggregator directly? -- 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