Partager via


Transformer

Retourne un tableau d’éléments après avoir appliqué une transformation à chaque élément du tableau d’entrée. Prend en charge Spark Connect.

Pour obtenir plus de détails sur la fonction SQL de Databricks correspondante, consultez transform.

Syntaxe

from pyspark.databricks.sql import functions as dbf

dbf.transform(col=<col>, f=<f>)

Paramètres

Paramètre Type Descriptif
col pyspark.sql.Column ou str Nom de la colonne ou de l’expression.
f function Fonction appliquée à chaque élément du tableau d’entrée. Peut prendre l’une des formes suivantes : Unary (x: Column) -> Column ou Binary (x: Column, i: Column) -> Column où le deuxième argument est un index basé sur 0 de l’élément.

Retours

pyspark.sql.Column: un nouveau tableau d’éléments transformés.

Examples

Exemple 1 : Transformer des éléments de tableau avec une fonction simple

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()
+------------+
|     doubled|
+------------+
|[2, 4, 6, 8]|
+------------+

Exemple 2 : Transformer des éléments de tableau à l’aide d’un index

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()
+--------------+
|    alternated|
+--------------+
|[1, -2, 3, -4]|
+--------------+