Udostępnij za pośrednictwem


UserDefinedTableFunction

Funkcja tabeli zdefiniowana przez użytkownika w języku Python.

Konstruktor tej klasy nie powinien być wywoływany bezpośrednio. Użyj pyspark.sql.functions.udtf polecenia , aby utworzyć wystąpienie.

Składnia

from pyspark.sql.functions import udtf

@udtf(returnType="c1: int, c2: int")
class MyUDTF:
    def eval(self, x: int):
        yield x, x + 1

Właściwości

Majątek Opis
returnType Zwracany typ funkcji tabeli zdefiniowanej przez użytkownika jako Typ struktury lub Brak, jeśli nie zostanie określony.

Methods

Metoda Opis
asDeterministic() Aktualizuje element UserDefinedTableFunction w celu określenia.

Notatki

Ten interfejs API ewoluuje.

Examples

from pyspark.sql.functions import lit, udtf

@udtf(returnType="c1: int, c2: int")
class PlusOne:
    def eval(self, x: int):
        yield x, x + 1

PlusOne(lit(1)).show()
+---+---+
| c1| c2|
+---+---+
|  1|  2|
+---+---+
_ = 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)]