【发布时间】:2021-06-12 16:54:37
【问题描述】:
我有一个spark数据框如下
----------------------------------------------------------------------------
| item_id | popular_tags | popularity_score
____________________________________________________________________________
| id_1 Samsung 0.4
| id_1 long battery 0.8
| id_2 Apple 0.9
| id_2 UI 0.9
_____________________________________________________________________________
我想将此数据框按item_id 分组并输出为一个文件,其中每一行都是一个json 对象
{id_1: {"Samsung":{"popularity_score":0.4}, "long_battery":{"popularity_score": 0.8}}}
{id_2: {"Apple": {"popularity_score": 0.9},"UI":{"popularity_score":0.9}}}
我尝试使用 to_json 和 collect_list 函数,但我得到一个列表而不是嵌套的 json 对象。
这是一个大型分布式数据帧,因此不能转换为 pandas 或将其收集到一台机器中。
【问题讨论】:
标签: python json apache-spark pyspark apache-spark-sql