[英]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.