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

PySpark读取多行多记录JSON文件的问题求助

PySpark读取多行多记录JSON文件的问题求助

我最近在使用PySpark读取JSON文件时遇到了棘手的问题,这个文件的格式比较特殊——每条记录的每个字段都单独占一行,而且包含多条独立的JSON记录。

示例文件内容:

{
"id" : "id001",
"name" : "NAME001",
"firstname" : "FIRSTNAME001"
}
{
"id" : "NNI002",
"name" : "NAME002",
"firstname" : "FIRSTNAME002"
}
{
"id" : "NNI003",
"name" : "NAME003",
"firstname" : "FIRSTNAME003"
}

我期望读取后得到的结果是这样的:

firstnameidname
FIRSTNAME001id001NAME001
FIRSTNAME002NNI002NAME002
FIRSTNAME003NNI003NAME003

但我尝试了几种方法都没成功:

  • 直接用spark.read.json("file.json"),结果直接报错
  • 添加multiline=true选项,也就是spark.read.option("multiline","true").json("file.json"),结果只读到了第一条记录:
+------------+-----+-------+
|   firstname|   id|   name|
+------------+-----+-------+
|FIRSTNAME001|id001|NAME001|
+------------+-----+-------+
  • 如果把每条记录压缩成单独一行,比如下面这种格式,用spark.read.json("file.json")就能正常读取:
{    "id" : "id001",    "name" : "NAME001",    "firstname" : "FIRSTNAME001"  }
{    "id" : "NNI002",    "name" : "NAME002",    "firstname" : "FIRSTNAME002"  }
{    "id" : "NNI003",    "name" : "NAME003",    "firstname" : "FIRSTNAME003"  }

可问题是这个文件有1000万行数据,手动或者批量转换格式根本不现实。

有没有大佬能给我出出主意?非常感谢!

备注:内容来源于stack exchange,提问作者Steuv

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 07:50:28