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というのはGoogleのMapReduceのオープンソース版の実装という理解かと思うが、それ以外にもHDFS(分散ファイルシステム)、Pig Latinというクエリ言語、HBaseという列ベースの分散データベース、ZooKeeperという分散協調システムなどなどがあり、本書で解説されている。
わたしはHadoop使いではなく、社内のHadoop利用者にいろいろ教えてもらいながら本書を紐解いたというのが実状なのだが、例もふんだんにあり大変わかりやすい構成になっている。
MapReduceって何よみたいなことを知りたくて、Hadoopもいじってみたいという人には必携の一冊ということだろう。というか本書以外今のところ類書はないので。