UDTFRegistration

Obálka pro registraci uživatelem definovaných funkcí tabulky K této instanci má přístup spark.udtf.

Syntaxe

# Access through SparkSession
spark.udtf

Methods

Metoda Description
register(name, f) Zaregistruje uživatelem definovanou funkci tabulky Pythonu jako funkci tabulky SQL.

Poznámky

Spark používá návratový typ dané uživatelem definované funkce tabulky jako návratový typ registrované funkce.

Pokud chcete zaregistrovat nedeterministické funkce tabulky Pythonu, nejprve sestavte nedeterministické uživatelem definované funkce tabulky a pak ji zaregistrujte jako funkci SQL.

Příklady

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)]