【问题标题】:What is the equivalent of BlobstoreLineInputReader for targeting Google Cloud Storage?针对 Google Cloud Storage 的 BlobstoreLineInputReader 等效项是什么?
【发布时间】:2015-06-18 07:47:51
【问题描述】:

这是一个 python appengine 问题,mapreduce library 1.9.21 。

我将代码写入本地 blobstore 中的 blob,然后使用 mapreduce BlobstoreLineInputReader 进行处理。

鉴于 files api 即将消失,我想我会将我的所有处理重新定位到云存储。

我希望找到一个名为 GoogleCloudStorageLineInputReader 的类,但没有类似的东西。它藏在什么地方吗?

有什么方法可以使用 GoogleCloudStorageInputReader 读取行吗?

另一种可能性是使用 GoogleCloudStorageRecordInputReader,但为此我的输入文件需要采用 LevelDB 格式,我不知道如何创建它,除非使用 GoogleCloudStorageConsistentRecordOutputWriter,我不知道如何在 mapreduce 上下文之外使用它。我该怎么做?

或者我做这一切都错了,还有其他我错过的可能性吗?

【问题讨论】:

    标签: python google-app-engine mapreduce pipeline


    【解决方案1】:

    起初,我尝试了 thinkjson 的 CloudStorageLineInputReader,但没有成功。

    然后我找到了this pull request...这将我带到了rbruyere's fork。尽管存在一些 linting 问题(例如 GoolgeCloudStorageLineInputReader 上的拼写),但在拉取请求的底部提到它工作正常,并询问是否需要接管项目。

    希望有帮助!

    【讨论】:

    • Ryan 向我指出了这个链接(在 appengine google 组上),我试了一下。但是我发现它和云存储客户端库之间出现了奇怪的不匹配;它在 GCSFileStat 对象上寻找“file_name”,但在库中这些只有“filename”。我正在使用 1.9.21.0 版的云存储客户端库。我尝试在该库的 common.py 中的 GCSFileStat 上添加一个属性,以将 file_name 映射到文件名,瞧,一切正常。不错!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 2018-11-28
    相关资源
    最近更新 更多