通过


用户定义函数

Python 中的用户定义的函数。

此类的构造函数不应直接调用。 使用 pyspark.sql.functions.udfpyspark.sql.functions.pandas_udf 创建实例。

Syntax

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

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

属性

财产 说明
returnType 用户定义函数作为 DataType 的返回类型。

方法

方法 说明
asNondeterministic() 将 UserDefinedFunction 更新为不确定。

示例

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