我正在尝试在Scala中将其实现为UDAF。Spark的版本是1.6.1。我尝试了两种方式调用我的UDAF (“中位数”):val timeSeries = ... // get a DataFrametimeSeries.registerTempTable有没有办法使用UDAF作为窗口函数?例如,计算移动中位数(不是移动平均值,而是中位数)。
我在上读过:为了实现计数不同,蜂巢依赖于GenericUDAFCount。联合国非洲发展新议程没有专门为计数不同而实施。这些“不同的”键将是MapReduce混乱阶段的分区键的一部分,这样它们就很自然地被“区分”了。
select count(1) from (select id from tbl group
在Spark 2中,我使用的UDAF是这样的: case class ColumnBuilderUDAF(channels: Seq[String]) extends UserDefinedAggregateFunction在Spark3中,UDAF被弃用,应该使用Aggregator。或者我仍然必须使用已弃用的UDAF?