【问题标题】:How to mapreduce over google cloud storage file?如何在谷歌云存储文件上进行 mapreduce?
【发布时间】:2012-07-29 14:38:48
【问题描述】:

来自应用引擎 mapreduce 控制台 (myappid.appspot.com/mapreduce/status) 我有一个用 input_reader 定义的 mapreduce:mapreduce.input_readers.BlobstoreLineInputReader 我已成功使用常规 blobstore 文件,但它不适用于使用 create_gs_key 从云存储创建的 Blobkey。当我运行它时,我收到错误“BadReaderParamsError:找不到密钥 THEKEY 的 blobinfo”。输入阅读器检查是否存在 BlobInfo。有什么解决方法吗? BlobInfo.get(BLOBKEY FROM CS) 不应该返回 blobinfo 吗?

要从谷歌云存储文件中获取 blob_key,我运行以下命令:

from google.appengine.ext import blobstore
READ_PATH = '/gs/mybucket/myfile.json'
blob_key =  blobstore.create_gs_key(READ_PATH)
print blob_key

【问题讨论】:

    标签: google-app-engine google-cloud-storage


    【解决方案1】:

    社区成员在 appengine-mapreduce 库中创建了一个用于 Cloud Storage 的 LineInputReader 作为问题:http://code.google.com/p/appengine-mapreduce/issues/detail?id=140

    我们在此处发布了我们的修改:https://github.com/thinkjson/CloudStorageLineInputReader

    我们正在使用它对大约 4TB 的数据执行 MapReduce,并且到目前为止对它感到满意。

    【讨论】:

      【解决方案2】:

      Cloud Storage 和 BlobStore 是两种不同的存储,您不能将 Cloud Storage 中的密钥作为 BlobStore 密钥传递。
      您需要通过 Cloud Storage 文件实现自己的行阅读器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-10
        • 2019-06-09
        • 1970-01-01
        相关资源
        最近更新 更多