簡體   English   中英

如何使用 pyspark 從 python 列表中 select 隨機文本值?

[英]How to select a random text value from a python list using pyspark?

有沒有辦法使用 pyspark 從以下 python 列表中獲取隨機文本值 select:-

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

I know that I can implement a pyspark UDF which will return a random text value from python list using random.choice() python function but do we have an alternative function in pyspark itself to do the same?

這樣做的主要原因是通過從如上所述的 python 數據列表中隨機選擇元素來創建一個 1000 行的巨大數據集。

您可以從列表中創建 dataframe然后使用rand function 我們可以從列表中生成隨機數據。

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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM