Converta dataframe pyspark em lista de dicionários python
Nov 29 2020
Olá, sou novo no pyspark e estou tentando converter pyspark.sql.dataframe em uma lista de dicionários.
Abaixo está meu dataframe, o tipo é <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|
+------------------+----------+------------------------+
Eu gostaria de convertê-lo em:
[{"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}]
Como devo fazer isso? Desde já, obrigado!
Respostas
1 mck Nov 29 2020 at 19:38
Você pode mapear cada linha em um dicionário e coletar os resultados:
df.rdd.map(lambda row: row.asDict()).collect()
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino