1

我正在尝试通过 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 失败,我还检查了所有这些行具有正确的格式。

下面的作业也有同样的问题,唯一的区别就是表名和schema中的字段名不同(但都是同一个数据文件、字段和类型)。在这些尝试中,它声称另一行陷入困境:

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

4

1 回答 1

0

这次导入的临时文件仍然存在,所以我能够检查我们尝试导入的文件。对于 job job_6464fc24a4414ae285d1334de924f12d,最后几行是:

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

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

我会调查为什么会发生这种情况。同时,通过Google Storage导入使用更简单的路径,应该没问题。

于 2012-08-07T18:32:56.300 回答