Hadoop MapReduce デザインパターン

Amazon CAPTCHA
Hadoop MapReduce デザインパターン
の監修という事をさせたもらったので
その内容とかについてですね。

まず、元の本はこれです。
http://www.amazon.co.jp/Data-Intensive-Processing-MapReduce-Synthesis-Technologies/dp/1608453421/ref=sr_1_1?s=english-books&ie=UTF8&qid=1316817977&sr=1-1

著者のJimmy Linは
現在Clouderaに所属と聞いています。
(が、割と所属不明な感じみたいです。)

現実にClouderaのトレーニングの内容は
特にアプリサイドの、かなりの部分を
この本の内容に準拠していました。
なので、Hadoopを利用する際には
ほぼ必須の書籍と見ていいと思います。

この本の特長と位置付け、想定読者と
具体的な内容のサマリー・利用方法は以下の
通りだと思います。(もちろん以下は個人の
感想なので、そのあたりはご配慮は願います。)

1. 特長
前書きにも書いてありますが、HadoopMapReduceの
具体的な利用については、かなり詳細に書いてあります。
現時点で、このレベルまでHadoopMapReduceの
アプリよりの記述をしている文献はないと思います。

本書に記述されているコードは疑似コードです。
これは賛否両論だと思いますが
個人的には、疑似の方がよいと感じました。
HadoopMapReduceはワードカウント程度なら
ともかく、書籍で述べられているレベルの
複雑な処理を直接に記述するのは、
理解を妨げることになります。
逆にアルゴリズムのMRへの展開の
説明にかなり労力を割いてあるので
「そもそも制限的なMRをどう拡張するのか?」
ということのついての理解・応用については
非常に有益です。

2. 想定読者
まずHadoopについて知っていることが
大前提になります。象本を読んでいること、または
実際にHadoopを触っていることが前提です。
もちろん前提なしでも、読めますが
ある程度の知識が必要です。

特に、とりあえずワードカウントをやってみました
というレベルの人にはお勧めです。
さて次はどうするかいね?というところかと。

さて、問題は書籍の後半部分ですが・・・
正直これは確率・統計の最低限の知識は必要です。
ただし高校生程度の知識があれば
なんとか読めるので、そのレベルでいいのですが
数式がいやーん、という人は最終章はお手上げになるので
そこはパスでよいかと。

まぁ最後の章は、完全に言語処理の話なので
数学が苦手な人はそもそも参入すらできないでしょう
というところですし。まぁいいかと。

3.具体的な内容

1章 イントロダクション
割と一般的なお話なので
適当に読み飛ばす方が良い内容です。

2章 MapReduceの基礎
導入部分ですね。
基本的な概念のまとめと
これから展開する道具立ての解説です。
特にpartitionerとcombinerの部分は
Hadoopを使うの際には必須の手段なので
しっかり押さえておくべきでしょう。

3章 MapReduceアルゴリズムの設計
最大の肝要な部分です。
ローカル集約については、in-mapper combining
は必要不可欠のパターンなので押さえておくべきでしょう。
最大のポイントは
「pairsとstripes」のデザインパターンのマスターと
結合手法の解説です。

この3章は完全にマスターすべきものです。
私見ですが、pairs&stripesのデザインパターン
shared nothing型の分散処理では必ず
マスターすべき実装手法だと思います。

また、今後の各章の展開はすべて
このpairs&stripesをベースに
その具体的な適用を述べています。

4章 テキスト抽出のための転置インデックスの生成
正直にいいますが、もっともどうでも良い章です。
時間のない人は飛ばしていいです。

5章 グラフのアルゴリズム
割と大事な章です。
SSSPとGooglePageRankの実装サンプルを
ベースに話をしています。
グラフ処理は、MapReduceの得意とする
分野の一つですので、押さえておくと良いでしょう。
割と内容もおもしろいです。
ここは押さえておくべきかと。

6章 テキスト処理のためのEMアルゴリズム
基本的にEM法の適用です。
まず、EMと聞いて、はて?という人には
かなり厳しい内容です。
EMなりHMMなりを理解しているひとが
そのアルゴリズムをどうMRに適用するのか?
ということを記述している章です。
統計的な機械翻訳のついての記述もあり
まぁ読みものとしてはおもしろいかな
と思います。
ゆめゆめこの本でEMをマスターしようと
してはいけまません。

7章 未来に向って
割と先の話を書いていますが
もう現実的な話も出ています。
DryadやBSPにも言及してますね。

まぁそんな感じです。
とにかく3章は読まないとどうしようないので
Hadoopを使うのであれば、必須ですね。
また、特にWeb系の人でHadoopを使うのであれば
必読だろうな・・とは思います。

尚、最後ですが、原著よりも価格が安くなっているので
原価いれれば、かなりお買い得になっています。