我正在尝试通过API将本地文件加载到BigQuery,但它失败了。文件大小为98 MB,超过500万行。请注意,我已经加载了具有相同行数和稍大文件大小的表,而且过去没有问题。
我使用的代码与API文档中的代码完全相同,我已成功用于上传其他几个表。我得到的错误如下:
Errors:
Line:2243530, Too few columns: expected 5 column(s) but got 3 column(s)
Too many errors encountered. Limit is: 0.
Job ID: job_6464fc24a4414ae285d1334de924f12d
Start Time: 9:38am, 7 Aug 2012
End Time: 9:38am, 7 Aug 2012
Destination Table: 387047224813:pos_dw_api.test
Source URI: uploaded file
Schema:
tbId: INTEGER
hdId: INTEGER
vtId: STRING
prId: INTEGER
pff: INTEGER
请注意,同一个文件从CloudStorage(dw_tests / TestCSV / test.csv)加载得很好,所以问题不能是报告的一行有较少列的问题,因为它也会从CloudStorage失败,我也有检查所有行的格式是否正确。
以下作业存在同样的问题,唯一的区别是表名和模式中字段的名称不同(但它是相同的数据文件,字段和类型)。在那些尝试中,它声称有一个不同的行:
Line:4288253, Too few columns: expected 5 column(s) but got 4 column(s)
工作如下:
job_cbe54015b5304785b874baafd9c7e82e load FAILURE 07 Aug 08:45:23 0:00:34
job_f634cbb0a26f4404b6d7b442b9fca39c load FAILURE 06 Aug 16:35:28 0:00:30
job_346fdf250ae44b618633ad505d793fd1 load FAILURE 06 Aug 16:30:13 0:00:34
Python脚本返回的错误如下:
{'status': '503', 'content-length': '177', 'expires': 'Fri, 01 Jan 1990 00:00:00 GMT', 'server': 'HTTP Upload Server Built on Jul 27 2012 15:58:36 (1343429916)', 'pragma': 'no-cache', 'cache-control': 'no-cache, no-store, must-revalidate', 'date': 'Tue, 07 Aug 2012 08:36:40 GMT', 'content-type': 'application/json'}
{
"error": {
"errors": [
{
"domain": "global",
"reason": "backendError",
"message": "Backend Error"
}
],
"code": 503,
"message": "Backend Error"
}
}
看起来BigQuery可能存在问题。我该如何解决这个问题?
答案 0 :(得分:0)
此导入的临时文件仍然存在,因此我可以查看我们尝试导入的文件。对于职位job_6464fc24a4414ae285d1334de924f12d
,最后一行是:
222,320828,bot,2,0
222,320829,bot,4,3
222,320829,
看起来我们在某个时候丢弃了输入文件的一部分......输入规范说MD5哈希应该是58eb7c2954ddfa96d109fa1c60663293,但我们的数据哈希是297f958bcf94959eae49bee32cc3acdc,文件大小应该是98921024,但我们只有83886080字节。
我会研究为什么会这样。与此同时,通过Google Storage导入使用更简单的路径并且应该没问题。