Python 사용자 정의 테이블 함수를 SQL 테이블 함수로 등록합니다.
문법
register(name, f)
매개 변수
| 매개 변수 | 유형 | 설명 |
|---|---|---|
name |
str | SQL 문에 있는 사용자 정의 테이블 함수의 이름입니다. |
f |
UserDefinedTableFunction |
사용자 정의 테이블 함수입니다. |
Returns
UserDefinedTableFunction
Notes
Spark는 지정된 사용자 정의 테이블 함수의 반환 형식을 등록된 함수의 반환 형식으로 사용합니다.
비결정적 Python 테이블 함수를 등록하려면 먼저 비결정적 사용자 정의 테이블 함수를 빌드한 다음 SQL 함수로 등록합니다.
예제
from pyspark.sql.functions import udtf
@udtf(returnType="c1: int, c2: int")
class PlusOne:
def eval(self, x: int):
yield x, x + 1
spark.udtf.register(name="plus_one", f=PlusOne)
spark.sql("SELECT * FROM plus_one(1)").collect()
# [Row(c1=1, c2=2)]
# Use it with a lateral join.
spark.sql("SELECT * FROM VALUES (0, 1), (1, 2) t(x, y), LATERAL plus_one(x)").collect()
# [Row(x=0, y=1, c1=0, c2=1), Row(x=1, y=2, c1=1, c2=2)]