繁体   English   中英

PySpark RDD到带有元组和字典列表的数据框

[英]PySpark RDD to dataframe with list of tuple and dictionary

我已经在pyspark中处理了一些数据,它是具有这种结构的RDD

[(u'991', {'location': 'Australia', 'Age': '27', 'Colour': Pink}), (u'993', {'location': 'Singapore', 'Age': '55', 'Colour': Black}), (u'993', {'location': 'Mexico', 'Age': '12', 'Colour': Blue}), (u'994', {'location': 'USA', 'Age': '24', 'Colour': Red})]

如何将该结构转换为数据框? 我的最终目标是可以存储一个包含4列(ID(即991),位置,年龄,颜色)的配置单元表

鉴于字典位于元组中,因此行解决方案似乎不起作用

将每个元组转换为Row对象,然后调用toDF方法; Row(ID=t[0], **t[1])将元组中的字典作为关键字参数传递给每一行,并使用ID = t[0]创建一个以ID为键的新键值对:

from pyspark.sql import Row
rdd.map(lambda t: Row(ID=t[0], **t[1])).toDF().show()
+---+------+---+---------+
|Age|Colour| ID| location|
+---+------+---+---------+
| 27|  Pink|991|Australia|
| 55| Black|993|Singapore|
| 12|  Blue|993|   Mexico|
| 24|   Red|994|      USA|
+---+------+---+---------+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM