我正在尝试使用 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 类型值生成的。这个错误根本不清楚,我希望得到一些帮助!
几天前我们遇到了同样的错误,它来自于你的“max”中的NaN
这种类型的 JSON 可以用 python 来解析,但是当涉及到 BigQuery 时,它会抛出错误
=> 请务必将 NaN 替换为“null”,它应该可以工作
希望有帮助!
尝试更改输入文件中的行分隔符。 当我使用 Windows 'CR' 而不是 Linux 'LF' 时,我遇到了这个问题。
当有额外的换行符时,我也遇到了类似的问题。