Hadoop Conference Japan 2013 Winterの午後1(会場:1B)『Huahin Framework For Hadoop』のメモです。
講演者はブレインパッドの小林 隆さん。(→資料)
今回一番興味のあったHuahin・AZAREA・Asakusaの3フレームワークの一番手。
Huahin(ホアヒン)はタイの地名で、ワインの産地らしい。
ブレインパッドでは、社内規定で「コードネームはワインに関するものにする」と決まっているのだそうだ。
そこで適当に検索して、Huahinに決めたのだとか(笑)
Huahinは、MapReduceを簡易化(Javaで書くものをラッピング)したフレームワーク。
Writableやセカンダリーソートを自分で書かなくて済む。
Pig/Hiveでは難しい処理(例えば1つのMapReduceの中で直接関係の無い計算を並列でやるとか)がある(しかしMapReduceを直接書きたくはない)ので作ったのだそうだ。
Huahin Frameworkにはいくつかのコンポーネント?がある。
●Huahin Unit
MRUnitをラッピングしたもの。
●Huahin Core
プログラムに関する部分。
結合に関しては、メモリーに乗り切る部分はSimple Join、そうでない場合はBig Joinとなる。
●Huahin Tools
今はApacheのログを整形するものだけしか無い。
●Huahin Manager
REST APIで操作できる。
ジョブの一覧や詳細を表示したりkillしたり出来る。
ジョブの実行をキューで管理することも出来る。実行できるのはMapReduceのjar、Hive script、Pig Script。
対応バージョンはHadoop1系・2系、Hortonには未対応(会場のその場の挙手では、Hortonを使っている人は居なかった^^;)。
HDFSのバージョンが違うと詳細情報が取れないので、Hadoop1・Hadoop2・CDH3・CDH4で分けている。
●Huahin EManager
EMRに特化したManager。
出来る事はHuahin Managerと同様だが、EMRの仕様に合わせてある。
・EMRクラスター(ジョブフロー)の再利用が出来る。(EMRは1時間単位の課金なので、短いジョブを複数実行するには毎回起動するのではなくて再利用した方がよい)
・EMRのステップ(MapReduceジョブ)の上限が255なので、それに達したら自動的に再起動する。
・実行用のjarファイルをS3に置く必要が無い。(自動的にアップロードする)
・EMRはジョブのkillが出来ない(sshでマスターノードに入れば出来るが面倒だ)が、EManagerでは出来る。
説明を聞いていると、Managerにかなり力を入れているように感じられる。
TwitterでHuahinが話題になるのもHuahin Managerばかりのような気がするしw