SyntaxHighlighter

2012年5月12日土曜日

Google App EngineのMapReduceを使ってみた。

遅ればせながら GoogleAppEngine MapReduce を使ってみた。
まずは、GettingStartに従って、Jarファイルを生成する。

生成されたJarファイルは6つ。これらを使ってExampleを動かしてみるのが今回の目標。






続いて、プロジェクトの作成を行う。
個人的にGoogleAppEngine(以後、GAE)のアプリケーションを作るときは、
Slim3ベースのプロジェクトを使うのが楽チンなので、今回もSlim3で。


Exampleでは、"PBFVotes"というKindに400件のEntityを挿入してそのうち"skub"プロパティーの値で"pro"と"anti"、それぞれ設定されている件数を数えるというもの。
ちなみに付属のExampleではMapper処理完了のコールバックを登録していないものなので、
最終的な集計結果は得られない。Mapper処理完了のコールバックを登録して、実行しよう。


実行結果。めっちゃログ吐くし。。





















でも結果バッチリ。







さらに管理コンソール付き。なんかかっこいい。















使ってみた感想。
今回は少ないデータ量だったので、あまり分散された感と処理が速くなった感はない。
しかもMapフェーズまでは本家Hadoop MapReduceっぽいのだが、
以降、Shuffle,Sort,Reduceフェーズがなく、尻切れとんぼ(言葉が悪いが)感が否めない。
ただ、Mapperを独自実装したり、Shard数を増やしてみたりといろいろ試しがいはある。
グーグル、フル機能のMapReduceをGoogle App Engineで提供へ 記事でもあるように、
Python版はフル機能が実装されているらしい。Javaの近いうちにフル機能が実装されるのだろうか。
期待して待っていよう。
それかShuffle以降の実装も独自にすすめてみるのも。
AppEngineReducerという呼ばれる気配のないクラスがあったし。
次回も引き続きGAE Mapreduce。中身に迫る。(予定)









0 件のコメント:

コメントを投稿