UserDefinedTableFunction
Une fonction de table définie par l'utilisateur en Python.
Le constructeur de cette classe n'est pas censé être appelé directement. Utilisez pyspark.sql.functions.udtf pour créer une instance.
Syntaxe
Python
from pyspark.sql.functions import udtf
@udtf(returnType="c1: int, c2: int")
class MyUDTF:
def eval(self, x: int):
yield x, x + 1
Propriétés
Propriété | Description |
|---|---|
| Le type de retour de la fonction de table définie par l'utilisateur en tant que StructType, ou None si non spécifié. |
Méthodes
Méthode | Description |
|---|---|
Met à jour la UserDefinedTableFunction en déterministe. |
Exemples
Python
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()
Output
+---+---+
| c1| c2|
+---+---+
| 1| 2|
+---+---+
Python
_ = spark.udtf.register(name="plus_one", f=PlusOne)
spark.sql("SELECT * FROM plus_one(1)").collect()
Output
[Row(c1=1, c2=2)]
Python
spark.sql("SELECT * FROM VALUES (0, 1), (1, 2) t(x, y), LATERAL plus_one(x)").collect()
Output
[Row(x=0, y=1, c1=0, c2=1), Row(x=1, y=2, c1=1, c2=2)]