다음을 통해 공유


사용자 정의 함수 (UserDefinedFunction)

Python의 사용자 정의 함수입니다.

이 클래스의 생성자를 직접 호출할 수 없습니다. 인스턴스를 사용 pyspark.sql.functions.udf 하거나 pyspark.sql.functions.pandas_udf 만듭니다.

문법

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