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

How to select a random text value from a python list using pyspark?(如何使用pyspark从python列表中选择随机文本值?)
本文介绍了如何使用pyspark从python列表中选择随机文本值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法使用pyspark从下面的python列表中选择一个随机文本值:-

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

我知道我可以实现一个pyspark UDF,该UDF将使用随机选项()python函数从python列表中返回一个随机文本值,但是我们在pyspark本身中有没有替代函数来做同样的事情?

执行上述操作的主要原因是通过如上所述从pythondata_list中随机选择元素来创建1000行的巨型数据集。

推荐答案

您可以从列表创建数据帧,然后使用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'

这篇关于如何使用pyspark从python列表中选择随机文本值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)