Pular para o conteúdo principal

registerJavaUDAF (UDFRegistration)

Registrar uma função agregada 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 agregada definida pelo usuário.

javaClassName

str

Nome totalmente qualificado da classe Java.

Parâmetro

Tipo

Descrição

name

str

Nome da função agregada definida pelo usuário.

javaClassName

str

Nome totalmente qualificado da classe Java.

Devoluções​

None

Exemplos​

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