将本地文件加载到BigQuery表时出错

时间:2012-08-07 09:11:32

标签: google-bigquery

我正在尝试通过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可能存在问题。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

此导入的临时文件仍然存在,因此我可以查看我们尝试导入的文件。对于职位job_6464fc24a4414ae285d1334de924f12d,最后一行是:

222,320828,bot,2,0
222,320829,bot,4,3
222,320829,

看起来我们在某个时候丢弃了输入文件的一部分......输入规范说MD5哈希应该是58eb7c2954ddfa96d109fa1c60663293,但我们的数据哈希是297f958bcf94959eae49bee32cc3ac​​dc,文件大小应该是98921024,但我们只有83886080字节。

我会研究为什么会这样。与此同时,通过Google Storage导入使用更简单的路径并且应该没问题。