从PySpark中的字符串获取列表方法讲解
程序员文章站
2022-06-19 17:49:02
在 pyspark 中是否有类似eval的功能。我正在尝试将 python 代码转换为 pyspark我正在查询一个数据框,并且其中一列具有数据,如下所示,但采用字符串格式。[{u'date': u'...
在 pyspark 中是否有类似eval的功能。
我正在尝试将 python 代码转换为 pyspark
我正在查询一个数据框,并且其中一列具有数据,如下所示,但采用字符串格式。
[{u'date': u'2015-02-08', u'by': u'abc@gg.com', u'value': u'na'}, {u'date': u'2016-02-08', u'by': u'dfg@yaa.com', u'value': u'applicable'}, {u'date': u'2017-02-08', u'by': u'wrwe@hot.com', u'value': u'ufc'}]
假设“ x”是在数据框中保存此值的列。
现在,我想传递该字符串列“ x”并获取列表,以便可以将其传递给 mappartition 函数。
我想避免迭代驱动程序上的每一行,这就是我这样想的原因。
在 python 中使用 eval()函数(如果已使用):我得到以下输出:
x = "[{u'date': u'2015-02-08', u'by': u'abc@gg.com', u'value': u'na'}, {u'date': u'2016-02-08', u'by': u'dfg@yaa.com', u'value': u'applicable'}, {u'date': u'2017-02-08', u'by': u'wrwe@hot.com', u'value': u'ufc'}]" list = eval(x) for i in list: print i
输出:(这也是我在 pyspark 中想要的)
{u'date': u'2015-02-08', u'by': u'abc@gg.com', u'value': u'na'}
{u'date': u'2016-02-08', u'by': u'dfg@yaa.com', u'value': u'applicable'}
{u'date': u'2017-02-08', u'by': u'wrwe@hot.com', u'value': u'ufc'}
如何在 pyspark 中做到这一点?
实例扩展:
df.schema: structtype(list(structfield(id,stringtype,true),structfield(recs,stringtype,true)))
|id | recs | |abc|[66, [["ab", 10]]] |xyz|[66, [["xy", 10], ["yz", 20]]] |def|[66, [["de", 10], ["ef", 20], ["fg", 30]]]
我正试着把这些单子弄平
|id | like_id
|abc|ab|
|xyz|xy|
|xyz|yz|
|def|de|
|def|ef|
|def|fg|
到此这篇关于从pyspark中的字符串获取列表方法讲解的文章就介绍到这了,更多相关如何从 pyspark 中的字符串获取列表内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
PHP中substr_count()函数获取子字符串出现次数的方法,phpsubstr_count_PHP教程
-
[QMacros] 教程: 使用 QMacros 从 PHP 脚本中获取使用的变量名称列表
-
实例详解从对象列表中获取一个对象的方法
-
smarty模板引擎从配置文件中获取数据的方法_PHP
-
php获取字符串中各个字符出现次数的方法
-
smarty模板引擎从配置文件中获取数据的方法,smarty模板
-
smarty模板引擎从php中获取数据的方法
-
PHP中substr_count()函数获取子字符串出现次数的方法,phpsubstr_count
-
PHP使用mysql_fetch_object从查询结果中获取对象集的方法_PHP教程
-
解决Android从相册中获取图片出错图片却无法裁剪问题的方法