transformer
Renvoie 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 la fonction Databricks SQL correspondante, consultez la fonctiontransform.
Syntaxe
from pyspark.sql import functions as dbf
dbf.transform(col=<col>, f=<f>)
parameter
parameter | Type | Description |
|---|---|---|
|
| Nom de la colonne ou de l'expression. |
|
| Une fonction qui est appliquée à chaque élément du tableau d'entrée. Peut prendre l'une des formes suivantes : unaire |
Renvoie
pyspark.sql.Column: un nouveau tableau d'éléments transformés.
Exemples
Exemple 1 : transformez les éléments d'un tableau à l'aide d'une fonction simple
from pyspark.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 les éléments de tableau à l'aide de l'index
from pyspark.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]|
+--------------+