未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

Hadoop: The Definitive Guide

Hadoop定番教科書の日本語訳がいよいよ出版された。基礎から応用そしてケーススタディまでHadoopについて知りたいことはすべて網羅されている。

序文
訳者まえがき
はじめに
1章 Hadoop事始め
    1.1 データ!
    1.2 データの保管と分析
    1.3 他のシステムとの比較
    1.4 Hadoopの歴史
    1.5 Apache Hadoopプロジェクト
2章 MapReduce
    2.1 気象情報データセット
    2.2 Unixのツールによるデータ分析
    2.3 Hadoopによるデータの分析
    2.4 スケールアウト
    2.5 Hadoopストリーミング
    2.6 Hadoop Pipes
3章 Hadoop分散ファイルシステム
    3.1 HDFSの設計
    3.2 HDFSに関する概念
    3.3 コマンドラインインターフェース
    3.4 Hadoopのファイルシステム群
    3.5 Javaインターフェース
    3.6 データフロー
    3.7 distcpによる並列コピー
    3.8 Hadoopアーカイブ
4章 HadoopのI/O
    4.1 データの整合性
    4.2 圧縮
    4.3 シリアライゼーション
    4.4 ファイルベースのデータ構造
5章 MapReduceアプリケーションの開発
    5.1 設定API
    5.2 開発環境の設定
    5.3 ユニットテストの作成
    5.4 テストデータを使ったローカルでの実行
    5.5 クラスタでの実行
    5.6 ジョブのチューニング
    5.7 MapReduceのワークフロー
6章 MapReduceの動作
    6.1 MapReduceジョブの実行の内幕
    6.2 障害
    6.3 ジョブのスケジューリング
    6.4 シャッフルとソート
    6.5 タスクの実行
7章 MapReduceの型とフォーマット
    7.1 MapReduceの型
    7.2 入力フォーマット
    7.3 出力フォーマット
8章 MapReduceの機能
    8.1 カウンター
    8.2 ソート
    8.3 結合
    8.4 サイドデータの配布
    8.5 MapReduceライブラリクラス
9章 Hadoopクラスタの構築
    9.1 クラスタの仕様
    9.2 クラスタのセットアップとインストール
    9.3 SSHの設定
    9.4 Hadoopの設定
    9.5 インストールの後処理
    9.6 Hadoopクラスタのベンチマーク
    9.7 クラウドにおけるHadoop
10章 Hadoopの管理
    10.1 HDFS
    10.2 モニタリング
    10.3 メンテナンス
11章 Pig
    11.1 Pigのインストールと実行
    11.2 例
    11.3 データベースとの比較
    11.4 Pig Latin
    11.5 ユーザー定義関数
    11.6 データ処理オペレータ
    11.7 実践Pig
12章 HBase
    12.1 Hbaseの基礎
    12.2 概念
    12.3 インストール
    12.4 クライアント
    12.5 例
    12.6 HBase対RDBMS
    12.7 実践
13章 ZooKeeper
    13.1 ZooKeeperのインストールと実行
    13.2 例
    13.3 ZooKeeperサービス
    13.4 ZooKeeperによるアプリケーションの構築
    13.5 ZooKeeperの実用化
14章 ケーススタディ
    14.1 Last.fmにおけるHadoopの利用
    14.2 FacebookにおけるHadoopとHive
    14.3 Nutch検索エンジン
    14.4 Rackspaceにおけるログの処理
    14.5 Cascading
    14.6 Apache Hadoopでのテラバイトソート
付録A Apache Hadoopのインストール
付録B ClouderaのDistribution for Hadoopについて
付録C NCDC気象情報データの準備
索引

わたし自身はたまたま原書の読書会が会社であったのでそれに参加させてもらい半年位かけて読んだのだが、Hadoopについてともかく知りたかったらこの本を読めということになる。

HadoopというのはGoogleMapReduceオープンソース版の実装という理解かと思うが、それ以外にもHDFS分散ファイルシステム)、Pig Latinというクエリ言語、HBaseという列ベースの分散データベース、ZooKeeperという分散協調システムなどなどがあり、本書で解説されている。

わたしはHadoop使いではなく、社内のHadoop利用者にいろいろ教えてもらいながら本書を紐解いたというのが実状なのだが、例もふんだんにあり大変わかりやすい構成になっている。

MapReduceって何よみたいなことを知りたくて、Hadoopもいじってみたいという人には必携の一冊ということだろう。というか本書以外今のところ類書はないので。