第1章 初識Hadoop
數據!數據!
數據存儲與分析
與其他係統相比
關係型數據庫管理係統
網格計算
誌願計算
1.3.4 Hadoop 發展簡史
Apache Hadoop和Hadoop生態圈
第2章 關於MapReduce
一個氣象數據集
數據的格式
使用Unix工具進行數據分析
使用Hadoop分析數據
map階段和reduce階段
橫嚮擴展
閤並函數
運行一個分布式的MapReduce作業
Hadoop的Streaming
Ruby版本
Python版本
Hadoop Pipes
編譯運行
第3章 Hadoop分布式文件係統
HDFS的設計
HDFS的概念
數據塊
namenode和datanode
命令行接口
基本文件係統操作
Hadoop文件係統
接口
Java接口
從Hadoop URL中讀取數據
通過FileSystem API讀取數據
寫入數據
目錄
查詢文件係統
刪除數據
數據流
文件讀取剖析
文件寫入剖析
一緻模型
通過 distcp並行拷貝
保持 HDFS 集群的均衡
Hadoop的歸檔文件
使用Hadoop歸檔文件
不足
第4章 Hadoop I/O
數據完整性
HDFS的數據完整性
LocalFileSystem
ChecksumFileSystem
壓縮
codec
壓縮和輸入切分
在MapReduce中使用壓縮
序列化
Writable接口
Writable類
實現定製的Writable類型
序列化框架
Avro
依據文件的數據結構
寫入SequenceFile
MapFile
第5章 MapReduce應用開發
配置API
閤並多個源文件
可變的擴展
配置開發環境
配置管理
輔助類GenericOptionsParser,Tool和ToolRunner
編寫單元測試
mapper
reducer
本地運行測試數據
在本地作業運行器上運行作業
測試驅動程序
在集群上運行
打包
啓動作業
MapReduce的Web界麵
獲取結果
作業調試
使用遠程調試器
作業調優
分析任務
MapReduce的工作流
將問題分解成MapReduce作業
運行獨立的作業
第6章 MapReduce的工作機製
剖析MapReduce作業運行機製
作業的提交
作業的初始化
任務的分配
任務的執行
進度和狀態的更新
作業的完成
失敗
任務失敗
tasktracker失敗
jobtracker失敗
作業的調度
Fair Scheduler
Capacity Scheduler
shuffle和排序
map端
reduce端
配置的調優
任務的執行
推測式執行
重用JVM
跳過壞記錄
任務執行環境
第7章 MapReduce的類型與格式
MapReduce的類型
默認的MapReduce作業
輸入格式
輸入分片與記錄
文本輸入
二進製輸入
多種輸入
數據庫輸入(和輸齣)
輸齣格式
文本輸齣
二進製輸齣
多個輸齣
延遲輸齣
數據庫輸齣
第8章 MapReduce的特性
計數器
內置計數器
用戶定義的Java計數器
用戶定義的Streaming計數器
排序
準備
部分排序
總排序
二次排序
聯接
map端聯接
reduce端聯接
邊數據分布
利用JobConf來配置作業
分布式緩存
MapReduce庫類
第9章 構建Hadoop集群
集群規範
網絡拓撲
集群的構建和安裝
安裝Java
創建Hadoop用戶
安裝Hadoop
測試安裝
SSH配置
Hadoop配置
配置管理
環境設置
Hadoop守護進程的關鍵屬性
Hadoop守護進程的地址和端口
Hadoop的其他屬性
創建用戶帳號
安全性
Kerberos和Hadoop
委托令牌
其他安全性改進
利用基準測試程序測試Hadoop集群
Hadoop基準測試程序
用戶的作業
雲上的Hadoop
Amazon EC2上的Hadoop
第10章 管理Hadoop
HDFS
永久性數據結構
安全模式
日誌審計
工具
監控
日誌
度量
Java管理擴展(JMX)
維護
日常管理過程
委任節點和解除節點
升級
第11章 Pig簡介
安裝與運行Pig
執行類型
運行Pig程序
Grunt
Pig Latin編輯器
示例
生成示例
與數據庫比較
PigLatin
結構
語句
錶達式
1.4.4 類型
模式
函數
用戶自定義函數
過濾UDF
計算UDF
加載UDF
數據處理操作
加載和存儲數據
過濾數據
分組與連接數據
對數據進行排序
組閤和分割數據
Pig實戰
並行處理
參數代換
第12章 Hive
1.1 安裝Hive
1.1.1 Hive外殼環境
1.2 示例
1.3 運行Hive
1.3.1 配置Hive
1.3.2 Hive服務
1.3.3 Metastore
1.4 和傳統數據庫進行比較
1.4.1 讀時模式(Schema on Read)vs.寫時模式(Schema on Write)
1.4.2 更新、事務和索引
1.5 HiveQL
1.5.1 數據類型
1.5.2 操作和函數
1.6 錶
1.6.1 托管錶(Managed Tables)和外部錶(External Tables)
1.6.2 分區(Partitions)和桶(Buckets)
1.6.3 存儲格式
1.6.4 導入數據
1.6.5 錶的修改
1.6.6 錶的丟棄
1.7 查詢數據
1.7.1 排序(Sorting)和聚集(Aggregating)
1.7.2 MapReduce腳本
1.7.3 連接
1.7.4 子查詢
1.7.5 視圖(view)
1.8 用戶定義函數(User-Defined Functions)
1.8.1 編寫UDF
1.8.2 編寫UDAF
第13章 HBase
2.1 HBasics
2.1.1 背景
2.2 概念
2.2.1 數據模型的“鏇風之旅”
2.2.2 實現
2.3 安裝
2.3.1 測試驅動
2.4 客戶機
2.4.1 Java
2.4.2 Avro,REST,以及Thrift
2.5 示例
2.5.1 模式
2.5.2 加載數據
2.5.3 Web查詢
2.6 HBase和RDBMS的比較
2.6.1 成功的服務
2.6.2 HBase
2.6.3 實例:HBase在Streamy.com的使用
2.7 Praxis
2.7.1 版本
2.7.2 HDFS
2.7.3 用戶接口(UI)
2.7.4 度量(metrics)
2.7.5 模式設計
2.7.6 計數器
2.7.7 批量加載(bulkloading)
第14章 ZooKeeper
安裝和運行ZooKeeper
示例
ZooKeeper中的組成員關係
創建組
加入組
列齣組成員
ZooKeeper服務
數據模型
操作
實現
一緻性
會話
狀態
使用ZooKeeper來構建應用
配置服務
具有可恢復性的ZooKeeper應用
鎖服務
生産環境中的ZooKeeper
可恢復性和性能
配置
第15章 開源工具Sqoop
獲取Sqoop
一個導入的例子
生成代碼
其他序列化係統
深入瞭解數據庫導入
導入控製
導入和一緻性
直接模式導入
使用導入的數據
導入的數據與Hive
導入大對象
執行導齣
深入瞭解導齣
導齣與事務
導齣和SequenceFile
第16章 實例分析
Hadoop 在Last.fm的應用
Last.fm:社會音樂史上的革命
Hadoop a Last.fm
用Hadoop産生圖錶
Track Statistics程序
總結
Hadoop和Hive在Facebook的應用
概要介紹
Hadoop a Facebook
假想的使用情況案例
Hive
問題與未來工作計劃
Nutch 搜索引擎
背景介紹
數據結構
Nutch係統利用Hadoop進行數據處理的精選實例
總結
Rackspace的日誌處理
簡史
選擇Hadoop
收集和存儲
日誌的MapReduce模型
關於Cascading
字段、元組和管道
操作
Tap類,Scheme對象和Flow對象
Cascading實戰
靈活性
Hadoop和Cascading在ShareThis的應用
總結
在Apache Hadoop上的TB字節數量級排序
使用Pig和Wukong來探索10億數量級邊的 網絡圖
測量社區
每個人都在和我說話:Twitter迴復關係圖
(度)degree
對稱鏈接
社區提取
附錄A 安裝Apache Hadoop
附錄B Cloudera’s Distribution for Hadoop
附錄C 準備NCDC天氣數據
索引
· · · · · · (
收起)