registerJavaUDAF (UDFRegistration)
Javaユーザー定義集計関数をSQL関数として登録します。
構文
registerJavaUDAF(name, javaClassName)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| str | ユーザー定義の集計関数の名前。 |
| str | Javaクラスの完全修飾名。 |
戻り値
None
例
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)]