Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fonction de table définie par l’utilisateur dans Python.
Le constructeur de cette classe n’est pas censé être appelé directement. Permet pyspark.sql.functions.udtf de créer une instance.
Syntaxe
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 |
|---|---|
returnType |
Type de retour de la fonction de table définie par l’utilisateur sous la forme d’un StructType, ou Aucun s’il n’est pas spécifié. |
Méthodes
| Méthode | Description |
|---|---|
asDeterministic() |
Met à jour UserDefinedTableFunction de manière déterministe. |
Remarques
Cette API évolue.
Exemples
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)]