Зарегистрируйте UDAF в Spark sql - PullRequest
0 голосов
/ 31 января 2019

Я хотел бы зарегистрировать класс UDAF (написанный на Scala или Python) и использовать его в Spark SQL.
Например:
Код макета

// mock code:
class MyUDAF extends UserDefinedAggregateFunction{
...
}

spark.udaf.registerJavaFunction("myagg", "MyUDAF",IntegerType)

Тогда я могу использоватьudaf непосредственно в spark sql следующим образом:

spark.sql("select myagg(field) from mytable group by something")

Spark предоставил только метод spark.udf.registerJavaFunction для регистрации класса UDF.

Кто-нибудь знает, как зарегистрировать UDAF?

1 Ответ

0 голосов
/ 01 февраля 2019

Вы можете просто зарегистрировать его, используя Hive SQL.

spark.sql("CREATE FUNCTION myagg AS 'com.mysite.MyUDAF'")
spark.sql("select myagg(field) from mytable group by something")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...