Scala 如何实现非代数UDAF?

Scala 如何实现非代数UDAF?,scala,apache-spark,spark-dataframe,apache-spark-dataset,Scala,Apache Spark,Spark Dataframe,Apache Spark Dataset,由于在实现org.apache.spark.sql.expressions.UserDefinedAggregateFunction时需要merge方法,因此如何实现不支持merge的聚合函数,例如,何时实现median 示例1: 计算一组数据的中值: 75324547 输出应该是(2,4)。如果分别计算753和24547的中值,而753的中值是5,24547的中值是5,则无法合并它们。那么,如何覆盖merge函数: def merge(buffer1: MutableAggregationB

由于在实现
org.apache.spark.sql.expressions.UserDefinedAggregateFunction
时需要
merge
方法,因此如何实现不支持
merge
的聚合函数,例如,何时实现
median


示例1:

计算一组数据的中值:

75324547

输出应该是(2,4)。如果分别计算753和24547的中值,而753的中值是5,24547的中值是5,则无法合并它们。那么,如何覆盖
merge
函数:

def merge(buffer1: MutableAggregationBuffer, buffer2: Row): Unit

在这种情况下?

示例数据和预期输出please@mtoto更新,谢谢。