『HADOOP HACKS』に一通り目を通した!
(Mahoutは関連知識不足なので飛ばしたけど…)
色々な話題が詰まっているので、基本的には全部読むのではなくて興味のある部分だけ読むタイプの本かな。
基礎は知っている前提で書かれているので、まどろっこしい入門向け説明でページを使わず、一気に本筋に入るのが素晴らしいw
掲載されているソースコードについては抜粋だし(本筋とは関係ないところだがバグもあったりするし)、実際に使いたいと思ったら、サイト(http://sg.sg/hhacks)で公開されているソースを見た方が良さそう。
(自分がソースコードレビューをするんだったらHashMapの定石…とかforeachを使った方がーとかnew Integerを使うなーとか言いたい部分もあるけどw、Hadoopとは関係ないから別にいい)
以下、個別の章の感想。
- システム構築/運用
- マスターノードのHA化は『Hadoop徹底入門』にも出ていたと思うけど、実際にやろうとしたらかなり大変らしいので、情報は多い方がいいよね
- SqoopはHDFSと外部とのデータ転送で注目されていると思うんだけど、あまり知らなかったので、載っていて嬉しい。SqoopではOracleのテーブル名を大文字で書かないといけないなんて、絶対ハマりそう
- アプリケーション開発
- 自分が「HashMapを使う方式」って呼んでたやつは、InMapperCombinerって名前が付いていたのか!
- DistributedCache(分散キャッシュ)とかCombineFileInputFormatとかMapサイドジョインとかReduceサイドジョインとか、自分でMapReduce書いて実行性能を出そうとしたら必要そう
(これを自前でやる気はしないけど^^;、AsakusaFWは内部でこういうのを駆使しているはず) - HBase
- 「カラムファミリー」とか何の説明も無しに使われているのが新鮮w(HBaseの入門だと、その辺りから入るから)
- バルクロードやHFileOutputFormat(MapReduceでHBaseにデータを入れる方法)やpre-splitテーブルの作成など、実際にHBaseを使う上で超重要そう
- Hive
- 性能面の話として、いきなりHiveで出来ない事が並んでいるのがすごいw
(これはHadoopを基盤としている以上、HiveもPigもAsakusaFWも同じだけど) - HiveQLはSQLに似ていると言われるが、違いを色々挙げているのが素晴らしい。知らない点が多かった
- Pig
- LoadFunc・Storage・UDFの作り方とか、他の章と比べると当たり前の内容が多かったなぁ
(Storageの作り方をググろうとすると、日本語の情報では自分のページくらいしか出ないので、もしかすると当たり前ではないのかもしれないが^^;) - PigをJavaから呼び出せるらしいという事は聞いたことがあったが、実際にやっている例は初めて見た
- ZooKeeper
- ZooKeeperのリーダー選択の仕組みやアクセス制御(ACL)・tickTime等、内部構造について説明されている
- znodeの操作とか分散並列キューのサンプルが載っている
- ZooKeeperへアクセスするツールがそんなに色々あるとは知らなかった
(Eclipse・REST・FUSE)
※コメント投稿者のブログIDはブログ作成者のみに通知されます