Freigeben über


UDTFRegistration

Wrapper für die Registrierung benutzerdefinierter Tabellenfunktionen. Auf diese Instanz kann zugegriffen werden.spark.udtf

Syntax

# Access through SparkSession
spark.udtf

Methodik

Methode Beschreibung
register(name, f) Registriert eine benutzerdefinierte Python-Tabellenfunktion als SQL-Tabellenfunktion.

Hinweise

Spark verwendet den Rückgabetyp der angegebenen benutzerdefinierten Tabellenfunktion als Rückgabetyp der registrierten Funktion.

Um eine nichtdeterministische Python-Tabellenfunktion zu registrieren, erstellen Sie zuerst eine nichtdeterministische benutzerdefinierte Tabellenfunktion und registrieren sie dann als SQL-Funktion.

Beispiele

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