brassage
Génère une permutation aléatoire du tableau donné. La fonction de mélange est non déterministe, ce qui signifie que l'ordre du tableau de sortie peut être différent à chaque exécution.
Syntaxe
Python
from pyspark.sql import functions as sf
sf.shuffle(col, seed=None)
parameter
parameter | Type | Description |
|---|---|---|
|
| Le nom de la colonne ou de l'expression à mélanger. |
|
| Valeur de départ pour le générateur aléatoire. Ajouté dans Databricks Runtime 16.1 |
Renvoie
pyspark.sql.Column: Une nouvelle colonne qui contient un tableau d'éléments dans un ordre aléatoire.
Exemples
Exemple 1 : Mélanger un tableau simple
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT ARRAY(1, 20, 3, 5) AS data")
df.select("*", sf.shuffle(df.data, sf.lit(123))).show()
Output
+-------------+-------------+
| data|shuffle(data)|
+-------------+-------------+
|[1, 20, 3, 5]|[5, 1, 20, 3]|
+-------------+-------------+
**Exemple 2** : Mélanger un tableau avec des valeurs nulles
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT ARRAY(1, 20, NULL, 5) AS data")
df.select("*", sf.shuffle(sf.col("data"), 234)).show()
Output
+----------------+----------------+
| data| shuffle(data)|
+----------------+----------------+
|[1, 20, NULL, 5]|[NULL, 5, 20, 1]|
+----------------+----------------+
Exemple 3 : Mélange d'un tableau avec des valeurs en double
Python
import pyspark.sql.functions as sf
df = spark.sql("SELECT ARRAY(1, 2, 2, 3, 3, 3) AS data")
df.select("*", sf.shuffle("data", 345)).show()
Output
+------------------+------------------+
| data| shuffle(data)|
+------------------+------------------+
|[1, 2, 2, 3, 3, 3]|[2, 3, 3, 1, 2, 3]|
+------------------+------------------+