UDFRegistration

Kullanıcı tanımlı işlev kaydı için sarmalayıcı. Bu örneğe tarafından spark.udferişilebilir.

Sözdizimi

# Access through SparkSession
spark.udf

Özellikler

Mülkiyet Açıklama
logs UDF günlüğü için bir UDFLogs örneği döndürür. Bu özellik deneysel ve kararsızdır.

Methods

Yöntem Açıklama
register(name, f, returnType) Python işlevini (lambda işlevleri dahil) veya kullanıcı tanımlı bir işlevi SQL işlevi olarak kaydeder. Spark Connect'i destekler.
registerJavaFunction(name, javaClassName, returnType) Java kullanıcı tanımlı bir işlevi SQL işlevi olarak kaydeder. Belirtilmediğinde returnType yansıma yoluyla çıkarılır. Spark Connect'i destekler.
registerJavaUDAF(name, javaClassName) Java kullanıcı tanımlı toplama işlevini SQL işlevi olarak kaydeder. Spark Connect'i destekler.

Örnekler

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