本地我能成功(在任务中):
我看到blobstore has a reader允许我read the value directly using a streaming file-like interface.
- 但似乎有32MB的限制。我还看到有一个批量上传工具 - bulk_uploader.py - 但它不会完成我需要的所有数据按摩,而且我想限制写入(并且实际成本)批量插入。
如何在没有从本地存储读取的情况下有效地读取和解析非常大的(500mb +)csv文件?
答案 0 :(得分:1)
您需要查看以下选项,看看它是否适合您:
查看较大的文件大小,您应该考虑使用Google Cloud Storage作为文件。您可以使用GCS提供的命令行实用程序将文件上载到存储桶。上传后,您可以直接使用JSON API处理该文件并将其导入数据存储区。请查看以下内容:https://developers.google.com/storage/docs/json_api/v1/json-api-go-samples
如果这类似于一次性导入大文件,另一个选项可能是启动Google Compute VM,在那里编写应用程序以从GCS读取并通过较小的块将数据传递给运行的服务在App Engine Go中,然后可以接受并保留数据。
答案 1 :(得分:1)
不是我希望的解决方案,但我最终将大文件拆分为32MB,将每个文件上传到blob存储,然后在任务中解析每个文件。
它不是'漂亮。但它比其他选择花费的时间更少。