分段上传到 Google Bigquery
Posted
技术标签:
【中文标题】分段上传到 Google Bigquery【英文标题】:Multipart upload to Google Bigquery 【发布时间】:2015-11-25 23:14:13 【问题描述】:我正在尝试为我的加载作业(多部分)制定一个主体到 Bigquery。按照https://cloud.google.com/bigquery/loading-data-post-request#multipart上的例子:
-foo_bar_baz
Content-Type: application/json; charset=UTF-8
"configuration":
"load":
"sourceFormat": "NEWLINE_DELIMITED_JSON",
"schema":
"fields": [
"name":"word","type":"STRING",
"name":"word_count","type":"INTEGER",
"name":"corpus","type":"STRING",
"name":"corpus_date","type":"INTEGER"
]
,
"destinationTable":
"projectId":"myproject",
"datasetId":"mydataset",
"tableId":"mytable"
--foo_bar_baz
Content-Type: */*
[MY-JSON-DATA]
--foo_bar_baz--
但我从谷歌得到消息说:
"message": "作业配置必须只包含一个特定于作业的配置对象(例如,查询、加载、提取、电子表格提取),但有 0 个:"
如果我查看https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load 的文档,似乎 sourceUris[] 是必需的,但示例不包含它。我的数据不在谷歌云存储中,而是在请求中。为什么它没有检测到我的加载详细信息?
感谢您的帮助。 //莱夫
【问题讨论】:
【参考方案1】:根据消息 - 看起来你在下面不见了
Content-Type: multipart/related; boundary="foo_bar_baz"
【讨论】:
感谢您的支持。所以我的标头中有 Content-Type ,这些都是我的标头:Content-Type: multipart/related; boundary="foo_bar_baz" Content-Length: 8564 Authorization: Bearer XXX
对吗?最好的问候d//L【参考方案2】:
你是对的。我在 Content-Type 的标题中有一个额外的空间,我使用 fiddler 看到它,它看起来像这样:
`Content-Type:多部分/相关;边界="foo_bar_baz"
感谢您的支持。
【讨论】:
以上是关于分段上传到 Google Bigquery的主要内容,如果未能解决你的问题,请参考以下文章
HTML5 文件域+FileReader 分段读取文件并上传到服务器
从 Apache Spark 分段上传到 Amazon S3