Teilen über


Shuffle

Generiert eine zufällige Permutation des angegebenen Arrays. Die Shuffle-Funktion ist nicht deterministisch, d. h. die Reihenfolge des Ausgabearrays kann für jede Ausführung unterschiedlich sein.

Syntax

from pyspark.sql import functions as sf

sf.shuffle(col, seed=None)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder str Der Name der Spalte oder des Ausdrucks, die neu gemischt werden soll.
seed pyspark.sql.Column oder int, optional Seedwert für den Zufallsgenerator.

Rückkehr

pyspark.sql.Column: Eine neue Spalte, die ein Array von Elementen in zufälliger Reihenfolge enthält.

Examples

Beispiel 1: Shuffling a simple array

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()
+-------------+-------------+
|         data|shuffle(data)|
+-------------+-------------+
|[1, 20, 3, 5]|[5, 1, 20, 3]|
+-------------+-------------+

Beispiel 2: Shuffling an array with null values

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()
+----------------+----------------+
|            data|   shuffle(data)|
+----------------+----------------+
|[1, 20, NULL, 5]|[NULL, 5, 20, 1]|
+----------------+----------------+

Beispiel 3: Shuffling an array with duplicate values

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