如何以逗号分隔存储 JSON 数据框

How to store JSON dataframe with comma sepearted

我需要将数据帧记录写入 json 文件。如果我将数据帧写入它存储的文件中,如 {"a":1} {"b":2},我想将数据帧写入 [{"a":1} ,{"b":2}]。你能帮我么。提前致谢。

使用to_json函数创建array of json objects然后使用.saveAsTextFile保存json对象。

Example:

#sample dataframe
df=spark.createDataFrame([("a",1),("b",2)],["id","name"])

from pyspark.sql.functions import *

df.groupBy(lit("1")).\
agg(collect_list(struct(*[df.columns])).alias("cl")).\
select(to_json("cl").alias("jsn")).\
rdd.\
map(lambda x:x["jsn"]).\
saveAsTextFile("<path>")

cat <path>
#[{"id":"a","name":1},{"id":"b","name":2}]