12 HBase详解
12.1 HBase简介
12.2 HBase的基本操作
12.2.1 HBase的安装
12.2.2 运行HBase
12.2.3 HBase Shell
12.2.4 HBase配置
12.3 HBase体系结构
12.3.1 HRegion
12.3.2 HRegion服务器
12.3.3 HBase Master服务器
12.3.4 ROOT表和META表
12.3.5 ZooKeeper
12.4 HBase数据模型
12.4.1 数据模型
12.4.2 概念视图
12.4.3 物理视图
12.5 HBase与RDBMS
12.6 HBase与HDFS
12.7 HBase客户端
12.8 Java API
12.9 HBase编程
12.9.1 使用Eclipse开发HBase应用程序
12.9.2 HBase编程
12.9.3 HBase与MapReduce
12.10 模式设计
12.10.1 模式设计应遵循的原则
12.10.2 学生表
12.10.3 事件表
12.11 本章小结
13 Mahout详解
13.1 Mahout简介
13.2 Mahout的安装和配置
13.3 Mahout API简介
13.4 Mahout中的频繁模式挖掘
13.4.1 什么是频繁模式挖掘
13.4.2 Mahout中的频繁模式挖掘
13.5 Mahout中的聚类和分类
13.5.1 什么是聚类和分类
13.5.2 Mahout中的数据表示
13.5.3 将文本转化成向量
13.5.4 Mahout中的聚类、分类算法
13.5.5 算法应用实例
13.6 Mahout应用:建立一个推荐引擎
13.6.1 推荐引擎简介
13.6.2 使用Taste构建一个简单的推荐引擎
13.6.3 简单分布式系统下基于产品的推荐系统简介
13.7 本章小结
15 ZooKeeper详解
15.1 ZooKeeper简介
15.1.1 ZooKeeper的设计目标
15.1.2 数据模型和层次命名空间
15.1.3 ZooKeeper中的节点和临时节点
15.1.4 ZooKeeper的应用
15.2 ZooKeeper的安装和配置
15.2.1 安装ZooKeeper
15.2.2 配置ZooKeeper
15.2.3 运行ZooKeeper
15.3 ZooKeeper的简单操作
15.3.1 使用ZooKeeper命令的简单操作步骤
15.3.2 ZooKeeper API的简单使用
15.4 ZooKeeper的特性
15.4.1 ZooKeeper的数据模型
15.4.2 ZooKeeper会话及状态
15.4.3 ZooKeeper watches
15.4.4 ZooKeeper ACL
15.4.5 ZooKeeper的一致性保证
15.5 使用ZooKeeper进行Leader选举
15.6 ZooKeeper锁服务
15.6.1 ZooKeeper中的锁机制
15.6.2 ZooKeeper提供的一个写锁的实现
15.7 使用ZooKeeper创建应用程序
15.7.1 使用Eclipse开发ZooKeeper应用程序
15.7.2 应用程序实例
15.8 BooKeeper
15.9 本章小结
18 Hadoop的常用插件与开发
18.1 Hadoop Studio的介绍和使用
18.1.1 Hadoop Studio的介绍
18.1.2 Hadoop Studio的安装配置
18.1.3 Hadoop Studio的使用举例
18.2 Hadoop Eclipse的介绍和使用
18.2.1 Hadoop Eclipse的介绍
18.2.2 Hadoop Eclipse的安装配置
18.2.3 Hadoop Eclipse的使用举例
18.3 Hadoop Streaming的介绍和使用
18.3.1 Hadoop Streaming的介绍
18.3.2 Hadoop Streaming的使用举例
18.3.3 使用Hadoop Streaming常见的问题
18.4 Hadoop Libhdfs的介绍和使用
18.4.1 Hadoop Libhdfs的介绍
18.4.2 Hadoop Libhdfs的安装配置
18.4.3 Hadoop Libhdfs API简介
18.4.4 Hadoop Libhdfs的使用举例
18.5 本章小结
19 企业应用实例
19.1 Hadoop在Yahoo!的应用
19.2 Hadoop在eBay的应用
19.3 Hadoop在百度的应用
19.4 即刻搜索中的Hadoop
19.4.1 即刻搜索简介
19.4.2 即刻Hadoop应用架构
19.4.3 即刻Hadoop应用分析
19.5 Facebook中的Hadoop和HBase
19.5.1 Facebook中的任务特点
19.5.2 MySQL VS Hadoop+HBase
19.5.3 Hadoop和HBase的实现
19.6 本章小结
本章参考资料
附录C 使用DistributedCache的MapReduce程序
C.1 程序场景
C.2 详细代码
附录D 使用ChainMapper和ChainReducer的MapReduce程序
D.1 程序场景
D.2 详细代码
3 MapReduce计算模型
3.1 为什么要用MapReduce
3.2 MapReduce计算模型
3.2.1 MapReduce Job
3.2.2 Hadoop中的Hello World程序
3.2.3 MapReduce的数据流和控制流
3.3 MapReduce任务的优化
3.4 Hadoop流
3.4.1 Hadoop流的工作原理
3.4.2 Hadoop流的命令
3.4.3 两个例子
3.5 Hadoop Pipes
3.6 本章小结
4 开发MapReduce应用程序
4.1 系统参数的配置
4.2 配置开发环境
4.3 编写MapReduce程序
4.3.1 Map处理
4.3.2 Reduce处理
4.4 本地测试
4.5 运行MapReduce程序
4.5.1 打包
4.5.2 在本地模式下运行
4.5.3 在集群上运行
4.6 网络用户界面
4.6.1 JobTracker页面
4.6.2 工作页面
4.6.3 返回结果
4.6.4 任务页面
4.6.5 任务细节页面
4.7 性能调优
4.7.1 输入采用大文件
4.7.2 压缩文件
4.7.3 过滤数据
4.7.4 修改作业属性
4.8 MapReduce工作流
4.8.1 复杂的Map和Reduce函数
4.8.2 MapReduce Job中全局共享数据
4.8.3 链接MapReduce Job
4.9 本章小结
7 Hadoop I/O操作
7.1 I/O操作中的数据检查
7.2 数据的压缩
7.2.1 Hadoop对压缩工具的选择
7.2.2 压缩分割和输入分割
7.2.3 在MapReduce程序中使用压缩
7.3 数据的I/O中序列化操作
7.3.1 Writable类
7.3.2 实现自己的Hadoop数据类型
7.4 针对Mapreduce的文件类
7.4.1 SequenceFile类
7.4.2 MapFile类
7.4.3 ArrayFile、SetFile和BloomMapFile
7.5 本章小结
9 HDFS详解
9.1 Hadoop的文件系统
9.2 HDFS简介
9.3 HDFS体系结构
9.3.1 HDFS的相关概念
9.3.2 HDFS的体系结构
9.4 HDFS的基本操作
9.4.1 HDFS的命令行操作
9.4.2 HDFS的Web界面
9.5 HDFS常用Java API详解
9.5.1 使用Hadoop URL读取数据
9.5.2 使用FileSystem API读取数据
9.5.3 创建目录
9.5.4 写数据
9.5.5 删除数据
9.5.6 文件系统查询
9.6 HDFS中的读写数据流
9.6.1 文件的读取
9.6.2 文件的写入
9.6.3 一致性模型
9.7 HDFS命令详解
9.7.1 通过distcp进行并行复制
9.7.2 HDFS的平衡
9.7.3 使用Hadoop归档文件
9.7.4 其他命令
9.8 WebHDFS
9.8.1 WebHDFS的配置
9.8.2 WebHDFS命令
9.9 本章小结