【问题标题】:How to read Big files (~300 MB) from Google Cloud Storage?如何从 Google Cloud Storage 读取大文件 (~300 MB)?
【发布时间】:2014-09-03 23:57:18
【问题描述】:

我可以轻松地 upload/writeRead 来自 Google Cloud Storage 的文件内容 (~80KB)

现在,我必须在提供大文件 (~200MB-300MB) 的同时执行更大的任务:

1) 需要将上传文件的内容读取成块(~10 KB)。

       <--Want to modify chunked data programmatically-->

2) 重复“1”步骤,直到流读取文件的全部内容(从开始到结束顺序)。

我尝试了this 程序,但作为响应,我只有一些数据量。如何执行上述任务?

【问题讨论】:

    标签: java file google-app-engine google-cloud-storage blobstorage


    【解决方案1】:

    您不应使用文件 API(已弃用 - 请参阅您提到的页面顶部的评论)。而是使用 GCS 客户端(在弃用通知中提到)。 GCS 客户端允许您连续读取,并且您可以在请求之间序列化 GcsInputChannel 的状态,直到读取完成(如果读取时间长于请求超时)。您还应该考虑使用 mapreduce 库并使用 GoogleCloudStorageLineInput 读取文件并将修改后的文件写入映射器(在您的情况下可能仅映射)。

    【讨论】:

    • 我尝试使用 GCS 客户端,但我不知道在哪里设置 AppEngine Application ID 以在 App-Engine 托管项目?由于`预取缓冲区`,我正在使用 GCS 客户端:developers.google.com/appengine/docs/java/…
    • 我不确定我是否理解这个问题。您在从 App Engine 应用程序访问存储桶时遇到困难吗?
    • 引用的问题不涉及应用程序 ID。无论如何,也回复了另一个。
    猜你喜欢
    • 1970-01-01
    • 2018-07-22
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2013-01-26
    相关资源
    最近更新 更多