사용자 정의 테이블 함수 등록을 위한 래퍼입니다. 이 인스턴스는 .에서 액세스할 spark.udtf수 있습니다.
문법
# Access through SparkSession
spark.udtf
메서드
| 메서드 | 설명 |
|---|---|
register(name, f) |
Python 사용자 정의 테이블 함수를 SQL 테이블 함수로 등록합니다. |
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)]
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)]