メインコンテンツまでスキップ

シャッフル

指定された配列のランダムな順列を生成します。シャッフル関数は非決定論的であるため、出力配列の順序は実行ごとに異なる場合があります。

構文

Python
from pyspark.sql import functions as sf

sf.shuffle(col, seed=None)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

シャッフルする列または式の名前。

seed

pyspark.sql.Column または int(オプション)

乱数発生器のシード値。 Databricks Runtime 16.1で追加されました

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

シャッフルする列または式の名前。

seed

pyspark.sql.Column または int(オプション)

乱数発生器のシード値。 Databricks Runtime 16.1で追加されました

戻り値

pyspark.sql.Column: ランダムな順序で要素の配列を含む新しい列。

例1 : 単純な配列のシャッフル

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]|
+-------------+-------------+

例2 : null値を含む配列のシャッフル

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]|
+----------------+----------------+

例3 : 重複した値を持つ配列をシャッフルする

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]|
+------------------+------------------+
このページの見出し