从Spark 1.5.0开始,似乎可以为DataFrames上的自定义聚合编写自己的UDAF:Spark 1.5 DataFrame API亮点:日期/时间/字符串处理、时间间隔和UDAF
然而,我不清楚Python API是否支持此功能?
您不能在Spark 1.5.0-2.0.0中定义Python UDAF。有一个JIRA跟踪此功能请求:
- https://issues.apache.org/jira/browse/SPARK-10915
以"稍后"的目标解决,所以这可能不会很快发生。
您可以使用PySpark中的Scala UDAF——它被描述为Spark:如何将Python与Scala或Java用户定义函数映射?