Python 中的用户定义的函数。
此类的构造函数不应直接调用。 使用 pyspark.sql.functions.udf 或 pyspark.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()