本書は、Hadoopの概要を理解した読者を対象に、Hadoopを実際に使いこなすためのテクニックとTipsをまとめた書籍です。システム構築/運用、アプリケーション開発など、Hadoopならではの特徴を使いこなすための方法から、HBase、Hive、Pig、Mahout、ZooKeeperなどサブプロジェクトについてのHackまで、幅広い内容をカバーしています。Hadoopの力を引き出すのに必要なツールとその使い方、また内部の動きを知るための方法、さらに先進的なテクニックなど、開発の現場で必要とされる74のテクニックを掲載しています。早くからHadoopに注目し、実際に活用してきた技術者によって執筆された本書は、Hadoopを自在に使いたいエンジニア必携の一冊です。
Hadoop Hacks
―プロフェッショナルが使う実践テクニック
中野 猛、山下 真一、猿田 浩輔、上新 卓也、小林 隆 著
目次
目次 クレジット はじめに 1章 システム構築/運用Hacks 1. Hadoop動作に必要なパラメータ 2. Hadoop用ノードのLinux OS設定 3. マスターノードのHA化 4. Hadoopに関する統計情報 5. HDFSのアップグレード 6. Sqoopの構造と動作 7. PostgreSQLでの動作 8. Azkaban入門 9. Azkabanの利用 2章 アプリケーション開発Hacks 10. クラスタ外部からHadoopの操作 11. InMapperCombiner 12. カスタムWritable型の作り方 13. カスタムPartitionerの作り方 14. DistributedCacheの使い方 15. CombineFileInputFormat 16. MapReduceジョブをテストする 17. セカンダリソート 18. Mapサイドジョイン 19. Reduceサイドジョイン 20. 多段MapReduce 21. InputFormat/OutputFormatの使用方法 22. Cassandraとの連携 23. APIでのHDFS操作 24. MapReduceタスクの分析 25. Hadoopで圧縮ファイルを扱う 3章 HBase Hacks 26. Bulkロードツール 27. MySQLからのインポート 28. HFileへ直接アクセスをするMapReduce 29. pre-splitテーブルの作成 30. Coprocessorの作り方 31. カスタムFilterの作り方 32. export/importツール 33. クラスタレプリケーション 4章 Hive Hacks 34. SQLとHiveQLの違い 35. Hiveの実運用でケアすべきこと 36. クエリの高速化(入門編) 37. クエリの高速化(応用編) 38. ユーザ定義関数 39. 他システムと連携する 40. 独自処理を組み込む 41. マルチユーザでの利用 42. インデックスを使う 43. Hiveのログ 44. Sqoopでのデータロード 45. 差分データでのやり取り 5章 Pig Hacks 46. custom storageの作り方 47. PigLatinとSQLの違い 48. ユーザ定義関数 49. Embedded Pig 50. MapReduceへの変換の見方 51. Pigですぐ利用できる関数 6章 Mahout Hacks 52. Mahout入門 53. インストールと実行方法 54. 基礎用語を学ぶ 55. レコメンドを行う 56. アソシエーション分析 57. 予測モデルを作る 58. 機械学習とMapReduce 59. 独自ドライバを作る 60. Mahoutを利用したクラスタリング 7章 ZooKeeper Hacks 61. ZooKeeperのAPI 62. ZooKeeperのアクセス制御 63. Eclipseを使った開発 64. ZooInspectorを使う 65. RESTでZooKeeperを使う 66. FUSEからZooKeeperを使う 67. tickTimeの仕組みを理解する 68. ZABの仕組みを理解する 69. リーダー選択の仕組みを理解する 70. ステータスと役割を理解する 71. グループ・重み付けを利用する 72. 分散アプリケーションの構築 73. ZooKeeperを核としたシステム(BookKeeper) 74. BookKeeperを使ったシステム コラム Cloudera's Distribution including Apache Hadoop(CDH)について MapRについて 索引