1

App Engine MapReduceAPIについていくつか質問があります。まず、SDKにはmapreduceパッケージがあり、ここに別のmapreduceバンドルがあります。

https://developers.google.com/appengine/downloads

どちらを使うべきですか?バンドルを使用する必要がありますか、それともドキュメントが古く、実際にSDKバージョンを使用する必要がありますか?

次に、デフォルト以外のバージョンでmapreduceを実行して、mapreduceからのリクエストがユーザーのリクエストに干渉しないようにしたいと思います。

これを行うための最良の方法は何ですか?タスクキューでパイプラインを開始し、そのキューのターゲットバージョンをデフォルト以外のバージョンに設定できますか?

4

2 に答える 2

2

http://code.google.com/p/appengine-mapreduce/にあるオープン ソース バージョンの Map Reduce for GAE を使用することをお勧めします。

ドキュメント内の古いバンドル リンクはバグです。それはすぐにきれいになります。

一部の SDK には MapReduce が少し含まれていますが (歴史的な理由から)、現時点ではオープン ソース バージョンが適しています。

別バージョンの使用に関しては、これは一種の「依存」です。プロセッサの競合という観点から干渉を考えている場合、それは顕著な問題ではない可能性があります. 設定したキューの処理速度に応じて、必要に応じてマッピング タスクを処理するためにアプリのより多くのインスタンスがスピンアップされます。最初にいくつかの実験を試みます。問題を解決するために時間と労力を費やす前に、問題があることを確認してください。

于 2013-03-01T22:11:44.727 に答える
0

mapreduce は、デフォルト以外のバージョンで開始できます。起動後は、そのバージョンで自動的に実行され続けます。

私の場合、デフォルト以外のバージョンにコードをデプロイし、version_id.app_id.appspot.com/path_to_start_a_job で mapreduce をトリガーします。

cron ジョブは、デフォルト以外のバージョンでも問題なく mapreduce をトリガーできます。

于 2013-03-02T03:34:00.927 に答える