我有一个数据框,我想将其编写为具有特定名称的单个 json 文件。但它正在指定的文件名内创建一个分区文件。如何让它将数据直接写入我传递给参数的文件名?下面是Python代码:
df_3.coalesce(1).write.format('json').mode('overwrite').save(filename)
数据现在已写入 mylocation.json/part-00000,我只想将其作为 mylocation.json 文件。
我将不胜感激任何帮助。
我通常在写入之前将数据帧转换为 Pandas DataFrame。如果数据太大,无法一次性收集和写入,这就不适合。但是,如果您的数据很大,您可能应该使用分区输出而不是单个文件输出。
df_3.toPandas().to_json(filename, orient="records", lines=True)
将
orient
和 lines
设置为这些值会复制默认的 Spark 写入行为。
我认为您需要使用
mode('append')
来代替 – 并且无需使用合并,除非您想强制它仅在单个分区上运行:
df_3.write.format('json').mode('append').save(filename)