transformar
Retorna uma matriz de elementos após aplicar transformações a cada elemento da matriz de entrada. Compatível com Spark Connect.
Para a função Databricks SQL correspondente, consulte a funçãotransform.
Sintaxe
Python
from pyspark.databricks.sql import functions as dbf
dbf.transform(col=<col>, f=<f>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Nome da coluna ou expressão. |
|
| Uma função que é aplicada a cada elemento da matriz de entrada. Pode assumir uma das seguintes formas: Unário |
Devoluções
pyspark.sql.Column: uma nova matriz de elementos transformados.
Exemplos
Exemplo 1 : Transformar elementos de um array com uma função simples
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
df.select(dbf.transform("values", lambda x: x * 2).alias("doubled")).show()
Output
+------------+
| doubled|
+------------+
|[2, 4, 6, 8]|
+------------+
Exemplo 2 : Transformar elementos de um array usando índices
Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
def alternate(x, i):
return dbf.when(i % 2 == 0, x).otherwise(-x)
df.select(dbf.transform("values", alternate).alias("alternated")).show()
Output
+--------------+
| alternated|
+--------------+
|[1, -2, 3, -4]|
+--------------+