지정된 배열의 임의 순열을 생성합니다. 순서 섞기 함수는 결정적이지 않으므로 출력 배열의 순서가 실행마다 다를 수 있습니다.
문법
from pyspark.sql import functions as sf
sf.shuffle(col, seed=None)
매개 변수
| 매개 변수 | 유형 | Description |
|---|---|---|
col |
pyspark.sql.Column 또는 str |
순서를 섞을 열 또는 식의 이름입니다. |
seed |
pyspark.sql.Column 또는 int, 선택 사항 |
임의 생성기의 초기값입니다. |
Returns
pyspark.sql.Column: 임의 순서로 요소 배열을 포함하는 새 열입니다.
예시
예제 1: 단순 배열 순서 섞기
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]|
+-------------+-------------+
예제 2: 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]|
+----------------+----------------+
예제 3: 중복 값을 사용하여 배열 순서 섞기
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]|
+------------------+------------------+