如何以编程方式将大文件从桌面上传到BigQuery?

时间:2014-11-06 13:15:04

标签: python-2.7 google-bigquery

尝试将大型CSV文件从桌面上传到BigQuery(使用python)。寻找程序化的 办法。已经使用过Cloud SDK shell但正在寻找基于Web的自定义解决方案。

场景如下:用户可以使用GWT(FileUpload小部件)中开发的UI选择CSV文件。 POST主体大小也有32MB的限制。[What can be the maximum "POST" size I can have?]那么如何将数据从选定的CSV文件发送到App引擎 要插入BigQuery的python脚本在哪里?                        尝试分段上传,但如何重定向到python脚本而不是
servlet的。请提示是否可以重定向。

整个Web应用程序需要与GWT,Python代码一起部署在App Engine上。

还有在python本身开发完整的web界面并使用multipart上传。(这也必须托管在app引擎上)

提前致谢。

1 个答案:

答案 0 :(得分:2)

应将大文件上传到Google云端存储,然后从那里加载到BigQuery中。 GCS支持可恢复上传协议,允许您以块的形式上传大文件,使上传过程更加健壮,以应对不稳定的连接问题。可在此处找到此流程的高级描述:https://cloud.google.com/storage/docs/concepts-techniques#resumable

您要求在浏览器应用程序中执行此操作。有关Javascript客户端的Google云端存储文档,请访问:https://cloud.google.com/storage/docs/json_api/v1/json-api-javascript-samples

通过这种方式,您应该能够将客户端代码直接上传到Google云端存储。从那里,您的App Engine应用程序可以将数据加载到BigQuery中。