如何通过HTTP API将gzip压缩的json文件上传到bigquery?

时间:2013-08-08 07:48:20

标签: google-bigquery

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

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

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

2 个答案:

答案 0 :(得分:2)

我认为使用multipart / related请求无法提交二进制数据(例如压缩文件。但是,如果您不想使用未压缩数据,则可以使用可恢复上传。< / p>

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

这是bq.py使用的内容,因此您可以查看源代码here

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

答案 1 :(得分:0)

您可以将gzip压缩文件上传到Google云端存储,BigQuery将能够通过加载作业来提取它:

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