Google bigquery 如何通过HTTP API将Gzip json文件上载到bigquery?

Google bigquery 如何通过HTTP API将Gzip json文件上载到bigquery?,google-bigquery,Google Bigquery,当我尝试上传一个未压缩的json文件时,它工作得很好;但是,当我尝试同一个json文件的Gzip版本时,由于未能解析json内容而导致词法错误,作业将失败 我用macosx10.8中的gzip命令压缩了json文件,并将sourceFormat设置为:“NEWLINE_DELIMITED_json” 我是否做了一些不正确的事情,或者Gzip json文件应该以不同的方式处理?您可以将Gzip文件上载到Google云存储,BigQuery将能够通过加载作业接收它: 我认为使用多部分/相关请求无法提

当我尝试上传一个未压缩的json文件时,它工作得很好;但是,当我尝试同一个json文件的Gzip版本时,由于未能解析json内容而导致词法错误,作业将失败

我用macosx10.8中的gzip命令压缩了json文件,并将sourceFormat设置为:“NEWLINE_DELIMITED_json”


我是否做了一些不正确的事情,或者Gzip json文件应该以不同的方式处理?

您可以将Gzip文件上载到Google云存储,BigQuery将能够通过加载作业接收它:


我认为使用多部分/相关请求无法提交二进制数据(如压缩文件)。但是,如果您不想使用未压缩的数据,您可以使用可恢复上传

你用什么语言编写代码?python jobs.insert()接受一个media upload参数,你应该能够给它一个文件名,以便进行可恢复的上传(它将作业元数据和新表数据作为单独的流发送)。我可以用它上传压缩文件

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


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

如何上载压缩文件?您使用的是多部分mime请求,还是使用可恢复的上载?您使用的是Java/python客户端库吗?您有失败加载作业的作业id吗?我正在上载使用多部分/相关HTTP请求的文件,不可恢复。压缩文件失败,但我在nodejs中编写的是纯旧JSON工作。我在nodejs中根本找不到任何bigquery特定的示例,这就是我使用HTTP API的方式。你能给我指一下bigquery上的nodejs客户端库示例吗?