Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Contenedor para el registro de funciones definido por el usuario. Se puede acceder a esta instancia mediante spark.udf.
Sintaxis
# Access through SparkSession
spark.udf
Propiedades
| Propiedad | Descripción |
|---|---|
logs |
Devuelve una instancia de UDFLogs para el registro de UDF. Esta característica es experimental e inestable. |
Methods
| Método | Descripción |
|---|---|
register(name, f, returnType) |
Registra una función de Python (incluidas las funciones lambda) o una función definida por el usuario como una función SQL. Soporta Spark Connect. |
registerJavaFunction(name, javaClassName, returnType) |
Registra una función definida por el usuario de Java como una función SQL. Cuando returnType no se especifica, se deduce a través de la reflexión. Soporta Spark Connect. |
registerJavaUDAF(name, javaClassName) |
Registra una función de agregado definida por el usuario de Java como una función SQL. Soporta Spark Connect. |
Ejemplos
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)]