我尝试使用python客户端从Google Coud Storage上传一些数据。该文件是JSON换行符分隔的。我的大多数人都不具备该领域" passenger_origin.accuracy"但是当存在该字段时,我有以下错误:
阅读时出错 数据,错误消息:从位置开始的行中的JSON解析错误 2122510:没有这样的字段:driver_origin.accuracy。 (错误代码:无效)
阅读时出错 数据,错误消息:从位置开始的行中的JSON解析错误 2126317:没有这样的字段:passenger_origin.accuracy。 (错误代码: 无效)
无效行的示例:
{
"id": 1479443,
"is_obsolete": 0,
"seat_count": 1,
"is_ticket_checked": 0,
"score": 0.3709318902,
"is_multimodal": 0,
"fake_paths": 0,
"passenger_origin": {
"id": 2204,
"poi_uuid": "15b4e52c-7c58-442c-98df-1eb06079f6bb",
"user_id": 1987,
"accuracy": 250.0,
"disabled": 0,
"last_update": "2017-03-10T15:15:39",
"created": "2016-02-05T17:06:26",
"modified_by_user": 1,
"is_recurrent": 0,
"source": 1,
"hidden_by_user": 0,
"kind": 2,
},
"driver_origin": {
"id": 412491,
"poi_uuid": "47e90b6d-e178-4e02-9f02-f4ea5f8beaa1",
"user_id": 71471,
"disabled": 0,
"last_update": "2017-11-02T10:09:09",
"created": "2017-11-02T10:09:09",
"modified_by_user": 0,
"is_recurrent": 0,
"source": 1,
"hidden_by_user": 0,
"kind": 2,
},
"passenger_destination": {
"id": 2203,
"poi_uuid": "c531c3ca-47f0-4003-8098-1272fee8d018",
"user_id": 1987,
"accuracy": 250.0,
"disabled": 0,
"last_update": "2017-03-10T15:12:42",
"created": "2016-02-05T17:06:19",
"modified_by_user": 1,
"is_recurrent": 0,
"source": 1,
"hidden_by_user": 0,
"kind": 1,
}
}
该表是在上传数据之前创建的,因此不会被修改。我不明白为什么上传在这些字段上失败了? RECORD字段是否必须重复?
答案 0 :(得分:0)
要忽略架构中不存在的字段,请使用以下组合:
将第一个设置为true
,将第二个设置为某个任意高的数字,例如100000
,即使有额外的字段,也会使加载成功。
答案 1 :(得分:0)
问题是configuration.load.autodetect设置为True。我把它设置为False,问题是修复