Freigeben über


Benutzerdefinierte Funktion

Eine benutzerdefinierte Funktion in Python.

Der Konstruktor dieser Klasse sollte nicht direkt aufgerufen werden. Verwenden pyspark.sql.functions.udf oder pyspark.sql.functions.pandas_udf erstellen Sie eine Instanz.

Syntax

from pyspark.sql.functions import udf
from pyspark.sql.types import StringType

my_udf = udf(lambda x: x.upper(), StringType())

Eigenschaften

Eigentum Beschreibung
returnType Der Rückgabetyp der benutzerdefinierten Funktion als Datentyp.

Methodik

Methode Beschreibung
asNondeterministic() Aktualisiert die UserDefinedFunction auf nicht deterministisch.

Beispiele

from pyspark.sql.functions import udf
from pyspark.sql.types import StringType

upper_udf = udf(lambda x: x.upper(), StringType())
df = spark.createDataFrame([("alice",), ("bob",)], ["name"])
df.select(upper_udf("name")).show()
+-----------+
|<lambda>(name)|
+-----------+
|      ALICE|
|        BOB|
+-----------+
import random
from pyspark.sql.functions import udf
from pyspark.sql.types import IntegerType

random_udf = udf(lambda: random.randint(0, 100), IntegerType()).asNondeterministic()
random_udf.returnType
IntegerType()