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

BigQuery从GCS加载JSON失败:完整JSON单行导入报错求助

问题根源

你的加载错误由两个关键问题导致:

  1. 源文件格式与加载配置冲突:你指定了NEWLINE_DELIMITED_JSON格式,但test.json是多行的单个JSON对象。换行分隔JSON要求每行是一个独立的完整JSON记录,多行结构会触发解析错误。
  2. JSON结构与表Schema不匹配:目标表只有json_data字段,但源JSON未将内容包裹在json_data键下,BigQuery无法识别如何映射数据到对应字段。
解决方案

方案一:修改源JSON文件(最简方案)

将test.json改为单行结构,把原JSON内容作为json_data字段的值:

{"json_data": {"a": 1, "b": 2, "c": 3, "d": 4}}

保持原有Python脚本配置不变,重新执行加载即可成功。

方案二:调整加载配置(无需修改源文件)

如果无法修改源文件,可调整加载配置直接将整个JSON文件内容导入json_data字段:

  1. 更新Python脚本中的job_config:
job_config = bigquery.LoadJobConfig(
    schema=[
        bigquery.SchemaField("json_data", "JSON")
    ],
    autodetect=False,
    source_format=bigquery.SourceFormat.JSON,
    ignore_unknown_values=True
)
  1. 重新执行加载,BigQuery会将整个test.json的内容作为一条记录插入到json_data字段中。
验证结果

加载完成后,可通过以下SQL确认数据是否正确导入:

SELECT 
  json_data,
  json_data.a AS a_value,
  json_data.b AS b_value
FROM `myprojectid.mydataset.mytable`

查询应返回完整的JSON对象及其嵌套字段的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:55:47