Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Genera una permutación aleatoria de la matriz especificada. La función shuffle no es determinista, lo que significa que el orden de la matriz de salida puede ser diferente para cada ejecución.
Syntax
from pyspark.sql import functions as sf
sf.shuffle(col, seed=None)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Nombre de la columna o expresión que se va a ordenar aleatoriamente. |
seed |
pyspark.sql.Column o int, opcional |
Valor de inicialización para el generador aleatorio. |
Devoluciones
pyspark.sql.Column: una nueva columna que contiene una matriz de elementos en orden aleatorio.
Examples
Ejemplo 1: Orden aleatorio de una matriz simple
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]|
+-------------+-------------+
Ejemplo 2: Orden aleatorio de una matriz con valores NULL
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]|
+----------------+----------------+
Ejemplo 3: Orden aleatorio de una matriz con valores duplicados
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]|
+------------------+------------------+