Pyspark - 如何从 DataFrame 列中获取随机值

Tha*_*ise 5 pyspark spark-dataframe pyspark-sql

我在 DataFrame 中有一个列,我需要在 Pyspark 中选择 3 个随机值。有人可以帮我吗?

+---+
| id|
+---+
|123| 
|245| 
| 12|
|234|
+---+
Run Code Online (Sandbox Code Playgroud)

欲望:

具有 3 个随机值的数组从该列中获取:

**output**: [123, 12, 234]
Run Code Online (Sandbox Code Playgroud)

geo*_*t85 8

您可以rand()先使用函数以随机顺序订购:

 df.select('id').orderBy(rand()).limit(3).collect()
Run Code Online (Sandbox Code Playgroud)

有关rand()函数的更多信息,请查看pyspark.sql.functions.rand