Scalaで分散処理が書けるライブラリー(だと思う)Sparkでプログラムを書いてみた。
サンプルを見ると、普通のScalaのコレクション操作と同じ感じで書けるのが素晴らしい。
(まだバージョン0.3なので、足りない関数は多いけど。特にsumとsortは欲しいところ。あとキーを指定した結合)
お題は、Cascadingでも書いた偏差値の算出。これって何段かの処理が必要になるから、題材には良い感じなんだよね~。
無理矢理感のあるコーディングをしてしまったけれど、それでもかなり簡単に書けた。
ただ、Windows上の単独環境では動作したけど、実際に分散環境で動かしたわけではないので、これで正しいのかは分からない^^;(…分散環境欲しいなぁ)
しかし、とりあえず出来上がったソースのサイズを見ても、プログラミングにかかった時間(1日もかかってない。Sparkの勉強開始から数えても3~4日)を考えても、CascadingよりSparkの方が楽なのは確か。これは期待大だ(笑)
なお、SparkではHadoop(というかHDFS)のファイルも扱えるみたいだが、実際に分散させるにはMesosを入れないとダメなようで、MesosはUNIXにしか対応してなくてC++でコンパイルする必要があるので、試せない><(…UNIX環境欲しいなぁ)
ところで、MesosとかSparkって、それで検索しても関係ないものがいっぱいひっかかるので、大変(苦笑)
そう考えると、ほんとHadoopは秀逸な命名だよ!