Aller au contenu principal

UDTFRegistration

Wrapper pour l'enregistrement de fonctions de table définies par l'utilisateur. Cette instance peut être consultée par spark.udtf.

Syntaxe​

Python
# Access through SparkSession
spark.udtf

Méthodes​

Méthode

Description

register(name, f)

Enregistre une fonction de table Python définie par l'utilisateur en tant que fonction de table SQL.

Méthode

Description

register(name, f)

Enregistre une fonction de table Python définie par l'utilisateur en tant que fonction de table SQL.

Notes​

Spark utilise le type de retour de la fonction de table définie par l'utilisateur donnée comme type de retour de la fonction enregistrée.

Pour enregistrer une fonction de table Python non déterministe, créez d'abord une fonction de table définie par l'utilisateur non déterministe, puis enregistrez-la en tant que fonction SQL.

Exemples​

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