You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PySpark DataFrame保存为JSONL/JSON文件?

将PySpark DataFrame保存为JSONL(每行一个JSON)文件

PySpark的DataFrameWriter.json()方法默认生成的就是JSONL格式文件(每行一个独立JSON对象),无需转换为Pandas DataFrame,直接就能满足需求,以下是具体实现方式:

基础用法(大数据场景推荐)

默认按分区输出多个文件,每个文件内都是JSONL格式,适合处理大规模数据:

from pyspark.sql import SparkSession

# 初始化SparkSession
spark = SparkSession.builder.getOrCreate()

# 构建示例DataFrame
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["name", "age"])

# 保存为JSONL格式
df.write.json("path/to/jsonl_output", mode="overwrite")

输出目录下会生成多个part-*.json文件,每个文件的内容均为每行一个JSON对象,符合JSONL规范。

生成单个JSONL文件(小数据场景适用)

如果需要合并为单个文件,可先将DataFrame重分区为1,再保存:

# 重分区为1后保存,生成单个JSONL文件
df.repartition(1).write.json("path/to/single_jsonl_file", mode="overwrite")

注意:大数据场景不推荐此操作,会将所有数据集中到单个节点,可能导致性能瓶颈或内存溢出。

自定义JSON格式参数

如果需要调整JSON的输出格式(比如日期格式),可通过option参数配置:

# 自定义日期格式后保存
df.write.option("dateFormat", "yyyy-MM-dd").json("path/to/formatted_jsonl", mode="overwrite")

内容的提问来源于stack exchange,提问作者tisha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:39:59