在 BigQuery 中加载 JSON / 从位置 ... 开始的行中出现 JSON 解析错误:解析器在字符串结尾之前终止

问题描述 投票:0回答:2

我正在尝试使用 Airflow GoogleCloudStorageToBigQueryOperator 在 BigQuery 中加载 350MB JSON 文件。 作业总是停在某个位置 N (N 永远不会改变),并出现以下错误:

Error while reading data, error message: JSON parsing error in row starting at position 170468557: Parser terminated before end of string

我在文件中搜索了这一行,如下所示:

{"active": true,
"currency": "USD",
"dangerous": "all",
"filing_reference": null,
"is_freight": false,
"max": NaN,
"min": 15.0,
"rate": 15.0,
"rate_unit": "teu",
"rates": [],
"rates_fixed": null,
"shipowner_id": "12",
"thresholds": [],
"transit_time": null,
"updated_at": 1566912641.0,
"validity_end": 1556582400.0,
"validity_start": 1554076800.0,
"via": "UNKNOWN"}

BigQuery 架构是根据 Postgres 类型值生成的。这个错误根本不清楚,我希望得到一些帮助!

json postgresql google-bigquery
2个回答
1
投票

几天前我们遇到了同样的错误,它来自于你的“max”中的NaN

这种类型的 JSON 可以用 python 来解析,但是当涉及到 BigQuery 时,它会抛出错误

=> 请务必将 NaN 替换为“null”,它应该可以工作

希望有帮助!


0
投票

尝试更改输入文件中的行分隔符。 当我使用 Windows 'CR' 而不是 Linux 'LF' 时,我遇到了这个问题。

当有额外的换行符时,我也遇到了类似的问题。

© www.soinside.com 2019 - 2024. All rights reserved.