まずは、GettingStartに従って、Jarファイルを生成する。
生成されたJarファイルは6つ。これらを使ってExampleを動かしてみるのが今回の目標。
続いて、プロジェクトの作成を行う。
個人的にGoogleAppEngine(以後、GAE)のアプリケーションを作るときは、
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 件のコメント:
コメントを投稿