簡體   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