Hadoop Cascadingでようやく第1目標に到達。
もともとはHadoopのみで偏差値を計算するサンプルを作ってみたかったんだけど、複数のステップを経るのが面倒だったので、Cascadingを試していた。
(ちなみに正式名称は「Cascading」なんだろうけど、「HTTP Server」並に固有名詞っぽくないので、検索には苦労する(苦笑))
Hadoopのラッパー(ツール)としては他にPigやらHiveやらがあるみたいだけど。
Pigは新しい文法を覚えるのが面倒そうだったので却下。(決してあのブタが気に入らなかったからではない(爆))
HiveはSQLっぽいらしいけど、SQLがDBを扱うのに対し、Hiveはあくまでファイルを扱う(はず)。ファイルをSQLで扱うのにも違和感あるからねぇ。
CascadingはJavaのライブラリーだけど、Map/Reduceは隠蔽するので、Hadoopのコーディングがそのまま使える訳ではないから、やはり覚えなければならない事があるのに変わりはない。
でもCascadingは結合を書けるのでやはり便利だ。と言っても、それを行うCoGroupが一番ややこしい対象なので、多少の慣れが必要ではあるが…(苦笑)
それに、最終的にはHBaseを扱いたいのだ。(Hiveが対応しているかどうかは知らないが、Cascadingは対応しているはず)
あと気になるのは、実際のMap/Reduceへ変換された際の実行効率かな。
これについてはPigもHiveも同様に気になるところだけど…。
そういう意味では、Cascadingの処理分岐・結合機能がHadoopに取り込まれるのが一番便利そうな気がする(笑)