사용자 정의 함수를 호출합니다.
문법
import pyspark.sql.functions as sf
sf.call_udf(udfName=<udfName>, *cols)
매개 변수
| 매개 변수 | 유형 | Description |
|---|---|---|
udfName |
str |
UDF(사용자 정의 함수)의 이름입니다. |
cols |
pyspark.sql.Column 또는 str |
UDF에서 사용할 열 이름 또는 열입니다. |
Returns
pyspark.sql.Column: 실행된 udf의 결과입니다.
예시
예제 1: 정수 UDF에서 call_udf 사용
from pyspark.sql.functions import call_udf, col
from pyspark.sql.types import IntegerType, StringType
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
_ = spark.udf.register("intX2", lambda i: i * 2, IntegerType())
df.select(call_udf("intX2", "id")).show()
+---------+
|intX2(id)|
+---------+
| 2|
| 4|
| 6|
+---------+
예제 2: 문자열 UDF와 함께 call_udf 사용
from pyspark.sql.functions import call_udf, col
from pyspark.sql.types import IntegerType, StringType
df = spark.createDataFrame([(1, "a"),(2, "b"), (3, "c")],["id", "name"])
_ = spark.udf.register("strX2", lambda s: s * 2, StringType())
df.select(call_udf("strX2", col("name"))).show()
+-----------+
|strX2(name)|
+-----------+
| aa|
| bb|
| cc|
+-----------+