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

如何在PySpark中读取特殊格式JSON文件并转存为Parquet?

解决PySpark读取单行JSON对象文件的问题

你遇到的这种格式是JSON Lines(每行一个独立JSON对象),不需要启用multiline参数——这个参数是用来读取整个文件为单个JSON对象(比如包含数组的多行嵌套JSON)的,反而会让Spark只识别第一行的完整JSON结构,忽略后续行数据。

正确读取代码

直接移除multiline选项即可,Spark默认支持按行读取这种格式:

df = spark.read.json("data.json")
df.write.parquet("data.parquet")

可选的显式指定方式

如果需要更明确地声明读取规则,可以添加lineSep参数指定换行符作为分隔(默认已采用此规则),或显式指定格式:

df = spark.read.format("json").option("lineSep", "\n").load("data.json")
df.write.parquet("data.parquet")

验证读取结果

执行以下代码确认数据是否全部加载:

df.show()

正常输出应包含所有三行数据:

+---+-----+
| id| name|
+---+-----+
|  1| jhon|
|  2|bryan|
|  3| jane|
+---+-----+

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:55:21