1

当我尝试上传未压缩的 json 文件时,它工作正常;但是当我尝试同一个 json 文件的 gzip 版本时,作业会因无法解析 json 内容而导致词法错误而失败。

我使用 Mac OSX 10.8 中的 gzip 命令压缩了 json 文件,并将 sourceFormat 设置为:“NEWLINE_DELIMITED_JSON”。

我做错了什么还是应该以不同的方式处理压缩的 json 文件?

4

2 回答 2

2

我相信使用 multipart/related 请求是不可能提交二进制数据的(例如压缩文件。但是,如果您不想使用未压缩的数据,您也许可以使用可恢复上传。

你用什么语言编码?python jobs.insert() api采用媒体上传参数,您应该能够为其提供文件名以进行可恢复上传(它将您的作业元数据和新表数据作为单独的流发送)。我能够使用它来上传压缩文件。

这是 bq.py 使用的,所以你可以在这里查看源代码。

如果您不使用 python,其他语言的 googleapis 客户端库应该具有类似的功能。

于 2013-08-17T16:03:28.533 回答
0

您可以将压缩后的文件上传到 Google Cloud Storage,BigQuery 将能够通过加载作业提取它:

https://developers.google.com/bigquery/loading-data-into-bigquery#loaddatagcs

于 2013-08-13T17:22:28.793 回答