По Spark 1.5.0 представляется возможным написать собственный UDAF для пользовательских агрегаций в DataFrames: Spark 1.5 Основные характеристики API DataFrame: обработка даты/времени/строк, интервалы времени и UDAF
Однако мне непонятно, поддерживается ли эта функциональность в API Python?