Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Wrapper per la registrazione della funzione di tabella definita dall'utente. È possibile accedere a questa istanza da spark.udtf.
Sintassi
# Access through SparkSession
spark.udtf
Methods
| metodo | Descrizione |
|---|---|
register(name, f) |
Registra una funzione di tabella definita dall'utente Python come funzione di tabella SQL. |
Note
Spark usa il tipo restituito della funzione di tabella definita dall'utente specificata come tipo restituito della funzione registrata.
Per registrare una funzione di tabella Python non deterministica, compilare prima una funzione di tabella non deterministica definita dall'utente e quindi registrarla come funzione SQL.
Examples
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()
[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)]