Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rejestruje funkcję tabeli zdefiniowanej przez użytkownika Python jako funkcję tabeli SQL.
Składnia
register(name, f)
Parametry
| Parameter | Typ | Opis |
|---|---|---|
name |
str | Nazwa funkcji tabeli zdefiniowanej przez użytkownika w instrukcjach SQL. |
f |
UserDefinedTableFunction |
Funkcja tabeli zdefiniowana przez użytkownika. |
Zwroty
UserDefinedTableFunction
Notatki
Platforma Spark używa zwracanego typu danej funkcji tabeli zdefiniowanej przez użytkownika jako zwracanego typu zarejestrowanej funkcji.
Aby zarejestrować nieokreśloną funkcję tabeli Python, najpierw skompiluj funkcję tabeli zdefiniowanej przez użytkownika, a następnie zarejestruj ją jako funkcję SQL.
Examples
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)]