pyspark.sql.types.Row 列出
Posted
技术标签:
【中文标题】pyspark.sql.types.Row 列出【英文标题】:pyspark.sql.types.Row to list 【发布时间】:2018-05-09 14:04:02 【问题描述】:我的初始数据集是:
'ID': [Row(userid=17562323, gross_merchandise_value=6072210944, country=u'ID'), Row(userid=29989283, gross_merchandise_value=4931252224, country=u'ID')]
dict值的类型是pyspark.sql.types.Row
如何将 dict 转换为 userid 列表?如下:
[17562323, 29989283],
只需获取用户 ID 列表。
【问题讨论】:
我想你在这里有答案***.com/a/39467501/2799214 相关/可能的骗子:Convert rows into Dictionary in pyspark、Collecting the result of PySpark Dataframe filter into a variable 和 Check if two pyspark Rows are equal TL;DR:您可以像访问字典一样访问pyspark.sql.Row
的元素。所以在你的情况下你想要[value['userid'] for value in myDict['ID']]
直接阅读rdd可能更方便:df.rdd.map(lambda r: row.userid).collect()
谢谢你,问题解决了。我使用 ***.asDict()['userid'] for old_row_list 来获取新的用户 ID 列表
【参考方案1】:
首先谢谢你,问题解决了。我使用 old_row_list 中的 row_ele.asDict()['userid'] 来获取 new_userid_list
【讨论】:
以上是关于pyspark.sql.types.Row 列出的主要内容,如果未能解决你的问题,请参考以下文章