首页 > 解决方案 > Pyspark:如何将火花数据帧转换为 json 并将其保存为 json 文件?

问题描述

我正在尝试将我的 pyspark sql 数据帧转换为 json,然后另存为文件。

df_final = df_final.union(join_df)

df_final 包含这样的值:

在此处输入图像描述

我尝试过这样的事情。但它创建了一个无效的 json。

df_final.coalesce(1).write.format('json').save(data_output_file+"createjson.json", overwrite=True)

{"Variable":"Col1","Min":"20","Max":"30"}
{"Variable":"Col2","Min":"25,"Max":"40"}

我预期的文件应该有如下数据:

[
{"Variable":"Col1",
"Min":"20",
"Max":"30"},
{"Variable":"Col2",
"Min":"25,
"Max":"40"}]

标签: python-3.xpysparkapache-spark-sqlpyspark-sql

解决方案


因为pyspark您可以直接将您的数据帧存储到 json 文件中,无需将数据帧转换为 json。

df_final.coalesce(1).write.format('json').save('/path/file_name.json')

并且您仍然想将您的数据帧转换为 json 然后您可以使用 df_final.toJSON().


推荐阅读