Aller au contenu principal

registerJavaUDAF (UDFRegistration)

Enregistre une fonction d'agrégation définie par l'utilisateur Java comme fonction SQL.

Syntaxe

registerJavaUDAF(name, javaClassName)

parameter

parameter

Type

Description

name

str

Nom de la fonction d'agrégation définie par l'utilisateur.

javaClassName

str

Nom entièrement qualifié de la classe Java.

parameter

Type

Description

name

str

Nom de la fonction d'agrégation définie par l'utilisateur.

javaClassName

str

Nom entièrement qualifié de la classe Java.

Renvoie

None

Exemples

Python
spark.udf.registerJavaUDAF("javaUDAF", "test.org.apache.spark.sql.MyDoubleAvg")
df = spark.createDataFrame([(1, "a"), (2, "b"), (3, "a")], ["id", "name"])
df.createOrReplaceTempView("df")
q = "SELECT name, javaUDAF(id) as avg from df group by name order by name desc"
spark.sql(q).collect()
# [Row(name='b', avg=102.0), Row(name='a', avg=102.0)]