内容简介
第1章 初识Hadoop
数据!数据!
数据存储与分析
与其他系统相比
关系型数据库管理系统
网格计算
志愿计算
Hadoop发展简史
Apache Hadoop和Hadoop生态圈
第2章 关于MapReduce
一个气象数据集
数据的格式
使用Unix工具进行数据分析
使用Hadoop分析数据
map阶段和reduce阶段
Java MapReduce
横向扩展
数据流
combiner
运行分布式的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编辑器
示例
生成示例
与数据库比较
Pig Latin
结构
语句
表达式
类型
模式
函数
用户自定义函数
过滤UDF
计算UDF
加载UDF
数据处理操作
加载和存储数据
过滤数据
分组与连接数据
对数据进行排序
组合和切分数据
Pig实战
并行处理
参数替换
第12章 Hive简介
安装Hive
Hive外壳环境
示例
运行Hive
配置Hive
Hive服务
metastore
和传统数据库进行比较
读时模式vs.写时模式
更新、事务和索引
HiveQL
数据类型
操作与函数
表
托管表和外部表
分区和桶
存储格式
导入数据
表的修改
表的丢弃
查询数据
排序和聚集
MapReduce脚本
连接
子查询
视图
用户定义函数
编写UDF
编写UDAF
第13章 HBase
HBase基础
背景
概念
数据模型的“旋风之旅”
实现
安装
测试驱动
客户端
Java
Avro、REST和Thrift
示例
模式
加载数据
Web查询
HBase和RDBMS的比较
成功的服务
HBase
实例:HBase在Streamy.com的使用
Praxis
版本
HDFS
用户界面
度量
模式的设计
计数器
批量加载
第14章 ZooKeeper
安装和运行ZooKeeper
示例
ZooKeeper中的组成员关系
创建组
加入组
列出组成员
删除组
ZooKeeper服务
数据模型
操作
实现
一致性
会话
状态
使用ZooKeeper来构建应用
配置服务
可复原的ZooKeeper应用
锁服务
更多分布式数据结构和协议
生产环境中的ZooKeeper
可恢复性和性能
配置
第15章 开源工具Sqoop
获取Sqoop
一个导入的例子
生成代码
其他序列化系统
深入了解数据库导入
导入控制
导入和一致性
直接模式导入
使用导入的数据
导入的数据与Hive
导入大对象
执行导出
深入了解导出
导出与事务
导出和SequenceFile
第16章 实例分析
Hadoop在Last.fm的应用
Last.fm:社会音乐史上的革命
Hadoop在Last.fm中的应用
用Hadoop产生图表
Track Statistics程序
总结
Hadoop和Hive在Facebook中的应用
概要介绍
Hadoop在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天气数据
索引