Pular para o conteúdo principal

Registro UDTF

Wrapper para registro de funções de tabela definidas pelo usuário. Esta instância pode ser acessada por spark.udtf.

Sintaxe

Python
# Access through SparkSession
spark.udtf

Métodos

Método

Descrição

register(name, f)

Registrar uma função de tabela definida pelo usuário Python como uma função de tabela SQL .

Notas

O Spark utiliza o tipo de retorno da função de tabela definida pelo usuário como o tipo de retorno da função registrada.

Para registrar uma função de tabela não determinística Python , primeiro crie uma função de tabela não determinística definida pelo usuário e, em seguida, registre-a como uma função SQL .

Exemplos

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