三木 大知 著
Hadoopは今注目される「ビッグデータ」を扱うことのできる代表的な分散処理システムです。フリーソフトウェアとして誰でも自由に使え、多数のPCを連動させて強力なパフォーマンスを発揮します。本書は、このHadoopのデータ処理である「MapReduce」の基本を解説したものです。Hadoopはデータをどう扱うのか、どんな処理が向いているのか、自分がやりたいことを実現するにはどう考えるのかなどを、基本となるいくつかのパターンを使って説明してきます。新しいデータ処理に興味があり、具体的な方法を知りたいという方に最適の1冊です。
第1章 ビッグデータとデータの活用
1-1 ビッグデータってなんだろう
1-2 ビッグデータを活用するための技術
1-3 今までのデータ活用方法との違い
1-4 ビッグデータをマイニングする
1-5 データサイエンティストが足りない!
1-6 ビッグデータをHadoopでカジュアルに
第2章 Hadoopのエコシステム-Hadoopとオープンソースプロダクト-
2-1 Hadoopの発達
2-2 Hadoopの中核技術
2-3 Hadoopを活用する技術
2-4 Hadoopの開発を支援する技術
2-5 Hadoopの適用範囲を広げる技術
2-6 Hadoopと連携するための技術
2-7 Hadoopの運用を支援する技術
2-8 Hadoopを支える技術
第3章 データを分散するって、どういうこと?-分散ファイルシステム-
3-1 Hadoopはたくさんのコンピュータを使うシステム
3-2 HDFSにおけるコスト面でのメリット
3-3 たくさんのコンピュータを1つのコンピュータのように
3-4 Hadoopはデータをブツ切りにする
3-5 NameNodeとDataNodeで役割分担
3-6 Hadoopとコンピュータの故障
3-7 コンピュータを増やすと保管できるデータも増えます
3-8 HadoopはNameNodeが弱点
3-9 ほんとは怖いネットワーク障害
3-10 Hadoopではデータの内容を更新できません
3-11 Hadoopはシーケンシャルアクセスに特化しています
第4章 ばらばらか、まとめるか、それが問題だ-MapReduceの基本概念-
4-1 Hadoopはたくさんのコンピュータで並列にデータを処理します
4-2 並列処理の課題とは?
4-3 Hadoopはネットワークをなるべく使いません
4-4 JobTrackerとTaskTrackerで役割分担
4-5 Hadoopは並列処理のさまざまな障害に対処します
4-6 同期処理の問題点
4-7 MapReduceが同期の課題を軽減します
4-8 Mapフェーズ:ブツ切りデータを意味のあるレコードに
4-9 Shuffl eフェーズ:目的別にレコードを取りまとめ
4-10 Reduceフェーズ:やりたいことをやりたいように
第5章 並列処理はパターンで覚えよう-基本的な13の処理パターン-
5-1 MapReduce処理をパターン化してみる
5-2 処理パターンは大きく3つに分類できます
5-3 EMPTYパターン
5-4 EDITパターン
5-5 LIMITパターン
5-6 SAMPLEパターン
5-7 FILTERパターン
5-8 SPLITパターン
5-9 MERGEパターン
5-10 DISTINCTパターン
5-11 UNIONパターン
5-12 GROUPパターン
5-13 JOINパターン
5-14 SORTパターン
5-15 CROSSパターン
第6章 とにかく動かしてみよう!
-株価チャートの処理- 6-1 株価の変わり目を見つけよう
6-2 Hadoopのための準備をしよう
6-3 EMPTYパターンから始めよう
6-4 MapReduce処理の実行
6-5 ろうそく足の状態の計算
6-6 ろうそく足の状態の判定
6-7 MapReduce処理の最適化
6-8 仕上げに結果を書き出そう
6-9 プログラムを読みやすくする
6-10 コメントも活用しよう
第7章 単語を数えるだけでも見えてくる?-テキストの解析-
7-1 単語を処理する
7-2 Hadoopのための準備をしよう
7-3 テキストデータを読み込む
7-4 テキストデータを単語に分解する
7-5 タプルとバッグ
7-6 タプルやバッグの展開
7-7 単語別にグループ化する
7-8 グループ化されているデータに集計関数を適用する
7-9 出現回数が多い単語だけを順に並べてみよう
7-10 並べ替えのための処理はやっぱりたいへん
7-11 ファイルを出力しよう
第8章 構造がないなら意味を与えればいいじゃない?-アクセスログの分析-
8-1 アクセスログから検索語を抽出する
8-2 アクセスログから必要な情報を取り出す
8-3 項目に意味付けしよう
8-4 検索文字列を取り出す
8-5 ユーザ定義関数を使ってみよう
8-6 データの読み込みにもユーザ定義関数を使う
8-7 ユーザ定義関数の作成
8-8 ファイルを出力しよう
第9章 データとデータをくっつける!-鉄道情報の分析-
9-1 データを結合する
9-2 処理をいくつかの段階に分けてみよう
9-3 路線別の最短区間と最長区間を抽出する
9-4 駅名マスタと路線名マスタを作成する
9-5 中間データに駅名マスタ/路線名マスタを結合する
9-6 3つのプログラムを1つにまとめてみよう
第10章 簡単な分析をしてみよう-クラスタ分析-
10-1 機械学習による分析
10-2 k-means法について
10-3 区間距離を算出する
10-4 路線別の区間数と平均区間距離を算出する
10-5 特徴量をノーマライズする
10-6 最初はランダムにラベルを付けておく
10-7 ラベルごとの平均を取って中心点とする
10-8 中心点と各路線の近さを計算する
10-9 各路線ごとに一番近い中心点のラベルを採用する
10-10 繰り返し実行してみよう
10-11 クラスタ分けが完了したかどうかを確認する
10-12 繰り返し処理を自動化する
10-13 PigのプログラムをDOSコマンドやシェルコマンドから起動する
第11章 Hadoopべからず集
11-1 ファイルサーバーとして使うべからず
11-2 オンライン処理に使うべからず
11-3 リレーショナルデータベースの代用にすべからず
11-4 クラスタ運用で気を抜くべからず
11-5 セキュリティが万全と思うべからず
11-6 周辺コストを無視すべからず
11-7 法令/プライバシーを軽視すべからず
付 録 簡易環境の構築/リファレンス
A Windows PCでPigプログラムを実行するための簡易環境の構築
B PiggybankのライブラリJARのビルド方法
C Pigのステートメント/関数
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
小野靖貴 さん
2017-10-31
記述が他書(といっても比較は2,3冊だけど)よりも平易だと思うので、エンジニアでない方でも読みやすいかもしれない。ビックデータ時代の大容量保存を可能とした分散型DBであるhadoopの概要説明。もともとGoogleの社内システムだったとは知らなかった。mapreduceについて多めで、機械学習との関連も書いてあるのは嬉しかった。
まさお さん
2013-12-20
【初心者向け】Hadoopを使う際の最初の1冊にすごく適していると思う。流し読み程度だが、本格的にやる場合は再度よみたい