Compartilhar via


registerJavaUDAF (UDFRegistration)

Registra uma função de agregação definida pelo usuário Java como uma função SQL.

Sintaxe

registerJavaUDAF(name, javaClassName)

Parâmetros

Parâmetro Tipo Descrição
name str Nome da função de agregação definida pelo usuário.
javaClassName str Nome totalmente qualificado da classe Java.

Devoluções

None

Exemplos

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)]