Hadoopアドベントカレンダー2012 #hadoopAC12jpの21日目です。
今までHadoop関連のツール・フレームワークが出る度に、それで作ったアプリケーションの実行時間を計ってきたので、AZAREA-Cluster Frameworkでも計ってみました。
(あ、ついでにAsakusa Frameworkも0.2のbatchapp版で古かったので、0.4のDirect I/O版に修正しました)
まずはWordCount。
AZAREAはけっこう速いです。
素のMapReduce(Java)とC言語によるストリーミング(とCacading)が一番速いのですが、それに次ぐ順位に来ました。
Combinerは使ってなさそうなのに効率が良いのは、Hiveの様に何か特別な処理をしているのかもしれません。
次は1つの入力から4種類の集計を行うアプリ。
ところが、これは落ちましたorz
最適化を行って3つのMapReduceジョブに集約されているのですが、落ちたのは1つ目です。
スタンドアローンモードで動かすと「Unexpected key」というエラーで、分散環境ではOutOfMemoryErrorでした。
スタンドアローンモードと同じデータをシミュレーターで実行するとちゃんと通るんですけどねぇ。
(あ、ちなみにこのアプリのフローの図は偏差値のサンプルと違ってちゃんと出ました。横に長くなって線がかぶってしまうのは仕方ないと思います(笑))