Spark的UserDefinedAggregateFunction的子类型可以是单例吗?

时间:2017-05-01 11:19:06

标签: scala apache-spark apache-spark-sql

Spark UserDefinedAggregateFunction的子类型可以是单身/ object还是必须是class并在使用时实例化? updatemerge等调用都将MutableAggregationBuffer作为参数,因此我看不出不使用单例的原因。 这样做是否正确/安全?

例如:

object MyUdaf extends org.apache.spark.sql.expressions.UserDefinedAggregateFunction {
  // ...
}


someDf.groupBy("foo").agg(MyUdaf(col("bar")).as("bar_aggregated")).show()

1 个答案:

答案 0 :(得分:0)

这对我们来说已经有一段时间了,所以Ramesh上面的评论似乎是正确的。