1

app-engine 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を返すべきではありませんか?

Googleクラウドストレージファイルから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
4

2 に答える 2

5

コミュニティメンバーが、appengine-mapreduceライブラリの問題としてCloud Storage用のLineInputReaderを作成しました:http ://code.google.com/p/appengine-mapreduce/issues/detail?id = 140

ここに変更を投稿しました:https ://github.com/thinkjson/CloudStorageLineInputReader

これを使用して、約4 TBを超えるMapReduceを実行しており、これまでのところ満足しています。

于 2012-09-14T20:13:22.133 に答える
0

Cloud StorageとBlobStoreは2つの異なるストレージであり、CloudStorageからBlobStoreキーとしてキーを渡すことはできません。
CloudStorageファイル上に独自のラインリーダーを実装する必要があります。

于 2012-07-29T14:52:32.873 に答える