แปลงดาต้าเฟรมของ pyspark เป็นรายการพจนานุกรม python

Nov 29 2020

สวัสดีฉันเพิ่งเริ่มใช้ pyspark และฉันกำลังพยายามแปลง pyspark.sql.dataframe เป็นรายการพจนานุกรม

ด้านล่างนี้คือดาต้าเฟรมของฉันประเภทคือ <class 'pyspark.sql.dataframe.DataFrame'>:

+------------------+----------+------------------------+
|             title|imdb_score|Worldwide_Gross(dollars)|
+------------------+----------+------------------------+
| The Eight Hundred|       7.2|               460699653|
| Bad Boys for Life|       6.6|               426505244|
|             Tenet|       7.8|               334000000|
|Sonic the Hedgehog|       6.5|               308439401|
|          Dolittle|       5.6|               245229088|
+------------------+----------+------------------------+

ฉันต้องการแปลงเป็น:

[{"title":"The Eight Hundred", "imdb_score":7.2, "Worldwide_Gross(dollars)":460699653},
 {"title":"Bad Boys for Life", "imdb_score":6.6, "Worldwide_Gross(dollars)":426505244},
 {"title":"Tenet", "imdb_score":7.8, "Worldwide_Gross(dollars)":334000000},
 {"title":"Sonic the Hedgehog", "imdb_score":6.5, "Worldwide_Gross(dollars)":308439401},
 {"title":"Dolittle", "imdb_score":5.6, "Worldwide_Gross(dollars)":245229088}]

ฉันควรทำอย่างไร? ขอบคุณล่วงหน้า!

คำตอบ

1 mck Nov 29 2020 at 19:38

คุณสามารถแมปแต่ละแถวลงในพจนานุกรมและรวบรวมผลลัพธ์:

df.rdd.map(lambda row: row.asDict()).collect()