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