Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pembungkus untuk pendaftaran fungsi yang ditentukan pengguna. Instans ini dapat diakses oleh spark.udf.
Sintaksis
# Access through SparkSession
spark.udf
Karakteristik
| Harta benda | Deskripsi |
|---|---|
logs |
Mengembalikan instans UDFLogs untuk pengelogan UDF. Fitur ini bersifat eksperimental dan tidak stabil. |
Metode
| Metode | Deskripsi |
|---|---|
register(name, f, returnType) |
Mendaftarkan fungsi Python (termasuk fungsi lambda) atau fungsi yang ditentukan pengguna sebagai fungsi SQL. Mendukung Spark Connect. |
registerJavaFunction(name, javaClassName, returnType) |
Mendaftarkan fungsi yang ditentukan pengguna Java sebagai fungsi SQL. Ketika returnType tidak ditentukan, itu disimpulkan melalui pantulan. Mendukung Spark Connect. |
registerJavaUDAF(name, javaClassName) |
Mendaftarkan fungsi agregat yang ditentukan pengguna Java sebagai fungsi SQL. Mendukung Spark Connect. |
Examples
strlen = spark.udf.register("stringLengthString", lambda x: len(x))
spark.sql("SELECT stringLengthString('test')").collect()
[Row(stringLengthString(test)='4')]
from pyspark.sql.types import IntegerType
from pyspark.sql.functions import udf
slen = udf(lambda s: len(s), IntegerType())
_ = spark.udf.register("slen", slen)
spark.sql("SELECT slen('test')").collect()
[Row(slen(test)=4)]
import pandas as pd
from pyspark.sql.functions import pandas_udf
@pandas_udf("integer")
def add_one(s: pd.Series) -> pd.Series:
return s + 1
_ = spark.udf.register("add_one", add_one)
spark.sql("SELECT add_one(id) FROM range(3)").collect()
[Row(add_one(id)=1), Row(add_one(id)=2), Row(add_one(id)=3)]