如何使用pyspark从python列表中选择随机文本值?

2024-04-19 12:51:36 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有一种方法可以使用pyspark从以下python列表中选择随机文本值:-

data_list = ["abc", "xyz", "pqr"]

我知道我可以使用random.choice()python函数实现pyspark UDF,该UDF将从python列表中返回一个随机文本值,但是pyspark中是否有其他函数可以实现同样的功能

执行上述操作的主要原因是通过如上所述从python数据列表中随机选择元素来创建一个包含1000行的大型数据集


Tags: 数据方法函数文本功能列表datarandom
1条回答
网友
1楼 · 发布于 2024-04-19 12:51:36

您可以从列表中创建数据帧,然后使用rand函数从列表中生成随机数据

Example:

data_list = ["abc", "xyz", "pqr"]

from pyspark.sql.functions import *

spark.createDataFrame([(k,) for k in data_list]).orderBy(rand()).limit(1).show()
#+ -+
#| _1|
#+ -+
#|pqr|
#+ -+

spark.createDataFrame([(k,) for k in data_list]).orderBy(rand()).limit(1).show()
#+ -+
#| _1|
#+ -+
#|xyz|
#+ -+

#to get string
spark.createDataFrame([(k,) for k in data_list]).orderBy(rand()).limit(1).rdd.map(lambda x:x['_1']).collect()[0]
#u'abc'

相关问题 更多 >