Asakusaフレームワークで偏差値を計算するプログラムを書いてみた。
自分がこの手のフレームワークで何か試すときは、1にWordCount、2に偏差値算出プログラム(笑)
CascadingとSparkでも試したし。
適度に複雑だし、ロジックも分かっているので作りやすいし、作ったものを比較しやすい。
(ちなみにAsakusaFWの偏差値算出プログラムは、昼寝(1~2時間?)込みで6時間くらいで出来た(爆)
むしろウェブページやブログにまとめてる時間の方が長いよな(苦笑))
こうして改めて比較してみると、(Cascadingなんかかなり昔に試したのでだいぶ忘れてしまっているが)
- Cascadingはデータをフィールドという単位に分割して扱うのが独特。要するに独特なプログラミングをする必要がある。
- Sparkは普通のScalaプログラミングと同じ感覚で作れるが、タプルを使いすぎると何をしているのか分かりにくくなる。(ちゃんとクラスを作って演算子まで定義すれば見やすくなるだろうが)
- AsakusaFWが一番普通のJavaプログラミングっぽくコーディングできる。
という感じがする。
AsakusaFWのオペレータークラスは、各メソッドはモデルクラス(クラスの中に複数種類の値を保持する。通常のJavaBeansとほぼ同じ)を元に演算して別のモデルクラスへ出力するだけなので、非常に分かりやすい。
Cascadingだと、値はフィールドに持ち(1フィールドに1種類の値)、複数のフィールドをまとめて次の処理へ渡す形になるので、データの保持方法から勉強しないといけない。また、ユーザー定義関数を作ろうとすると、やりたい処理以外にCascading用の処理を色々書かなければならない(汗)
総ステップ数で言うとSparkが今のところ一番少なそうだが、これはまだ開発途上だしな…。
AsakusaFWはテスト方法の提供まで考えて作られているので、やはりかなりすごいな!
※コメント投稿者のブログIDはブログ作成者のみに通知されます