大量のデータにアクセスすることによって、商業、科学、コンピューティングといった様々な分野において新たな機会が生み出されています。MapReduceは、巨大なデータセットに対する分散処理を実行するプログラミングモデルであり、安価なサーバーからなるクラスタ上で大規模データの処理を行うためのフレームワークです。
本書は、自然言語処理、情報抽出、機械学習などに共通する、テキスト処理のアルゴリズムに重点を置きながら、MapReduceのアルゴリズム設計について解説します。またMapReduceのデザインパターンの概念を説明し、様々な領域に共通して現れる問題に対して、再利用可能かつ汎用的な対処方法を紹介します。読者が「MapReduce流に考える」手助けをするだけでなく、MapReduceというプログラミングモデルの限界までを網羅する本書は、MapReduceをより深く理解し、Hadoopを使いこなしたいエンジニアに必携の一冊です。
Hadoop MapReduce デザインパターン
―MapReduceによる大規模テキストデータ処理
Jimmy Lin, Chris Dyer 著、神林 飛志、野村 直之 監修、玉川 竜司 訳
- TOPICS
- Database , Java
- 発行年月日
- 2011年10月
- PRINT LENGTH
- 210
- ISBN
- 978-4-87311-512-2
- 原書
- Data-Intensive Text Processing with MapReduce
- FORMAT
目次
目次 監修者まえがき はじめに 1章 イントロダクション 1.1 クラウドでのコンピューティング 1.2 着想 1.3 違いはどこに? 1.4 本書は何でないか 2章 MapReduceの基礎 2.1 関数型プログラミングの起源 2.2 mapperとreducer 2.3 実行フレームワーク 2.4 partitionerとcombiner 2.5 分散ファイルシステム 2.6 Hadoopクラスタのアーキテクチャ 2.7 まとめ 3章 MapReduceアルゴリズムの設計 3.1 ローカル集約 3.1.1 combinerとin-mapper combining 3.1.2 ローカル集約を使った場合のアルゴリズムの正当性 3.2 pairsとstripes 3.3 相対頻度の計算 3.4 セカンダリソート 3.5 リレーショナルな結合 3.5.1 reduce側結合 3.5.2 map側結合 3.5.3 memory-backed結合 3.6 まとめ 4章 テキスト抽出のための転置インデックスの生成 4.1 Webのクローリング 4.2 転置インデックス 4.3 転置インデックス:基準となる実装 4.4 転置インデックスの生成:改良版の実装 4.5 インデックスの圧縮 4.5.1 バイトアライメントとワードアライメントのコード 4.5.2 ビットアライメントコード 4.5.3 レコードの圧縮 4.6 抽出について 4.7 まとめと参考文献 5章 グラフのアルゴリズム 5.1 グラフの表現 5.2 並列幅優先検索 5.3 PageRank 5.4 グラフ処理に関する問題 5.5 まとめと参考文献 6章 テキスト処理のためのEMアルゴリズム 6.1 期待値最大化法 6.1.1 最尤法 6.1.2 潜在変数を持つビー玉のゲーム 6.1.3 潜在変数を持つ最尤法 6.1.4 期待値の最大化 6.1.5 EMの例 6.2 隠れマルコフモデル 6.2.1 隠れマルコフモデルに関する3つの疑問 6.2.2 forwardアルゴリズム 6.2.3 ビタビ(Viterbi)アルゴリズム 6.2.4 HMMのためのパラメータ推定 6.2.5 forward-backwardトレーニング 6.3 MapReduceでのEM 6.3.1 MapReduceでのHMMのトレーニング 6.4 ケーススタディ:統計的機械翻訳のための単語のアライメント 6.4.1 統計的フレーズベース翻訳 6.4.2 少し脱線:MapReduceを使った言語モデルの作成 6.4.3 単語アライメント 6.4.4 実験 6.5 EMに類するアルゴリズム 6.5.1 勾配法による最適化と、対数線型モデル 6.6 まとめと参考文献 7章 未来に向って 7.1 MapReduceの限界 7.2 MapReduceに代わるコンピューティングパラダイム 7.3 MapReduceと、その先にあるもの 参考文献 索引