Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine benutzerdefinierte Tabellenfunktion in Python.
Der Konstruktor dieser Klasse sollte nicht direkt aufgerufen werden. Dient pyspark.sql.functions.udtf zum Erstellen einer Instanz.
Syntax
from pyspark.sql.functions import udtf
@udtf(returnType="c1: int, c2: int")
class MyUDTF:
def eval(self, x: int):
yield x, x + 1
Eigenschaften
| Eigentum | Beschreibung |
|---|---|
returnType |
Der Rückgabetyp der benutzerdefinierten Tabellenfunktion als StructType oder None, falls nicht angegeben. |
Methodik
| Methode | Beschreibung |
|---|---|
asDeterministic() |
Aktualisiert die UserDefinedTableFunction auf deterministisch. |
Hinweise
Diese API entwickelt sich weiter.
Beispiele
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)]