《Hadoop权威指南 中文版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)怀特著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302224242
  • 页数:504 页
图书介绍:本书从Hadoop的缘起开始,结合理论和实践,全方位地介绍Hadoop这一高性能的处理海量数据集的理想工具。

第1章 初识Hadoop 1

1.1 数据!数据 1

1.2 数据的存储和分析 3

1.3 相较于其他系统 4

1.3.1 关系型数据库管理系统 5

1.3.2 网格计算 6

1.3.3 志愿计算 8

1.4 Hadoop发展简史 9

1.5 Apache Hadoop项目 12

第2章 MapReduce简介 15

2.1 一个气象数据集 15

2.2 使用Unix Tools来分析数据 17

2.3 使用Hadoop进行数据分析 19

2.3.1 map和reduce 19

2.3.2 Java MapReduce 20

2.4 分布化 30

2.4.1 数据流 30

2.4.2 具体定义一个combiner 34

2.4.3 运行分布式MapReduce作业 35

2.5 Hadoop流 35

2.5.1 Ruby语言 36

2.5.2 Python 38

2.6 Hadoop管道 40

第3章 Hadoop分布式文件系统 44

3.1 HDFS的设计 44

3.2 HDFS的念 45

3.2.1 块 45

3.2.2 名称节点与数据节点 47

3.3 命令行接口 48

3.4 Hadoop文件系统 50

3.5 Java接口 54

3.5.1 从Hadoop URL中读取数据 54

3.5.2 使用FileSystem API读取数据 56

3.5.3 写入数据 59

3.5.4 目录 62

3.5.5 查询文件系统 62

3.5.6 删除数据 67

3.6 数据流 68

3.6.1 文件读取剖析 68

3.6.2 文件写入剖析 71

3.6.3 一致模型 73

3.7 通过distcp进行并行复制 75

3.8 Hadoop归档文件 77

3.8.1 使用Hadoop Archives 77

3.8.2 不足 79

第4章 Hadoop的I/O 80

4.1 数据完整性 80

4.1.1 HDFS的数据完整性 81

4.1.2 本地文件系统 82

4.1.3 ChecksumFileSystem 82

4.2 压缩 83

4.2.1 编码/解码器 84

4.2.2 压缩和输入分割 89

4.2.3 在MapReduce中使用压缩 90

4.3 序列化 92

4.3.1 Writable接口 93

4.3.2 Writeable类 96

4.3.3 实现自定义的Writable 104

4.3.4 序列化框架 109

4.4 基于文件的数据结构 111

4.4.1 SequenceFile类 112

4.4.2 MapFile 120

第5章 MapReduce应用开发 125

5.1 API的配置 126

5.1.1 合并资源 127

5.1.2 各种扩展形式 128

5.2 配置开发环境 128

5.2.1 配置的管理 129

5.2.2 GenericOptionsParser,Tool和ToolRunner 131

5.3 编写单元测试 134

5.3.1 Mapper 135

5.3.2 reducer 137

5.4 本地运行测试数据 138

5.4.1 在本地作业运行器上运行作业 139

5.4.2 测试驱动程序 142

5.5 在集群上运行 144

5.5.1 打包 144

5.5.2 启动作业 144

5.5.3 MapReduce网络用户界面 146

5.5.4 获取结果 150

5.5.5 调试作业 151

5.5.6 使用远程调试器 157

5.6 作业调优 159

5.7 MapReduce的工作流 162

5.7.1 将问题分解成MapReduce作业 163

5.7.2 运行独立的作业 164

第6章 MapReduce的工作原理 166

6.1 运行MapReduce作业 166

6.1.1 提交作业 166

6.1.2 作业的初始化 168

6.1.3 任务的分配 168

6.1.4 任务的执行 169

6.1.5 进度和状态的更新 170

6.1.6 作业的完成 171

6.2 失败 172

6.2.1 任务失败 172

6.2.2 tasktracker失败 174

6.2.3 jobtracker失败 174

6.3 作业的调度 174

6.4 shuffle和排序 175

6.4.1 map端 176

6.4.2 reduce端 177

6.4.3 配置的调整 178

6.5 任务的执行 181

6.5.1 推测式执行 181

6.5.2 任务JVM重用 183

6.5.3 跳过坏记录 184

6.5.4 任务执行环境 185

第7章 MapReduce的类型与格式 188

7.1 MapReduce类型 188

7.2 输入格式 198

7.2.1 输入分片与记录 198

7.2.2 文本输入 210

7.2.3 二进制输入 214

7.2.4 多种输入 215

7.2.5 数据库格式的输入/输出 216

7.3 输出格式 217

7.3.1 文本输出 217

7.3.2 二进制输出 218

7.3.3 多个输出 218

7.3.4 延迟输出 226

7.3.5 数据库输出 226

第8章 MapReduce特性 227

8.1 计数器 227

8.1.1 内置计数器 227

8.1.2 用户自定义Java计数器 230

8.1.3 用户自定义流计数器 235

8.2 排序 235

8.2.1 准备 235

8.2.2 部分排序 237

8.2.3 全局排序 242

8.2.4 二次排序 246

8.3 联接 252

8.3.1 map端联接 253

8.3.2 reduce端联接 254

8.4 次要数据的分布 258

8.4.1 使用作业配置 258

8.4.2 分布式缓存 258

8.5 MapReduce的类库 263

第9章 Hadoop集群的安装 264

9.1 集群说明 264

9.2 集群的建立和安装 268

9.2.1 安装Java 268

9.2.2 创建Hadoop用户 269

9.2.3 安装Hadoop 269

9.2.4 测试安装 270

9.3 SSH配置 270

9.4 Hadoop配置 271

9.4.1 配置管理 271

9.4.2 环境设置 274

9.4.3 重要的Hadoop后台程序属性 278

9.4.4 Hadoop后台程序地址和端口 283

9.4.5 其他Hadoop属性 284

9.5 安装之后 286

9.6 Hadoop集群基准测试 286

9.6.1 Hadoop基准测试 287

9.6.2 用户作业 290

9.7 云计算中的Hadoop 290

第10章 Hadoop的管理 293

10.1 HDFS 293

10.1.1 持久化的数据结构 293

10.1.2 安全模式 298

10.1.3 审计日志 300

10.1.4 工具 300

10.2 监控 306

10.2.1 日志 306

10.2.2 度量 307

10.2.3 Java管理扩展 310

10.3 维护 313

10.3.1 例行管理程序 313

10.3.2 委托节点和撤消节点 314

10.3.3 升级 317

第11章 Pig简介 321

11.1 安装和运行Pig 322

11.1.1 执行类型 322

11.1.2 运行Pig程序 324

11.1.3 Grunt 324

11.1.4 Pig Latin编辑器 325

11.2 实例 325

11.3 与数据库比较 329

11.4 Pig Latin 330

11.4.1 结构 330

11.4.2 语句 331

11.4.3 表达式 334

11.4.4 类型 335

11.4.5 模式 337

11.4.6 函数 341

11.5 用户定义函数 343

11.5.1 过滤UDF 343

11.5.2 求值UDF 347

11.5.3 加载UDF 348

11.6 数据处理操作符 353

11.6.1 加载和存储数据 353

11.6.2 过滤数据 353

11.6.3 数据的分组和联接 356

11.6.4 数据的排序 361

11.6.5 数据的合并和分割 362

11.7 Pig实践提示与技巧 363

11.7.1 并行 363

11.7.2 参数替换 364

第12章 Hbase简介 366

12.1 HBase基础 366

12.2 概念 367

12.2.1 数据模型速览 367

12.2.2 实现 368

12.3 安装 371

12.4 客户端 374

12.4.1 Java 374

12.4.2 REST和thrift 376

12.5 示例 377

12.5.1 架构 378

12.5.2 加载数据 379

12.5.3 Web查询 382

12.6 HBase与RDBMS的比较 385

12.6.1 成功的服务 386

12.6.2 HBase 387

12.6.3 用例:streamy.com的Hbase 388

12.7 实践 390

12.7.1 版本 390

12.7.2 Hbase和HDFS的爱与恨 390

12.7.3 用户界面 392

12.7.4 度量 392

12.7.5 架构设计 392

第13章 ZooKeeper简介 394

13.1 ZooKeeper的安装和运行 395

13.2 范例 396

13.2.1 ZooKeeper中的组成员制 397

13.2.2 创建组 397

13.2.3 加入组 400

13.2.4 列出组成员 401

13.2.5 删除一个组 404

13.3 ZooKeeper服务 405

13.3.1 数据模型 405

13.3.2 操作 407

13.3.3 执行 411

13.3.4 一致性 412

13.3.5 会话 414

13.3.6 状态 416

13.4 使用ZooKeeper建立应用程序 417

13.4.1 配置服务 417

13.4.2 可恢复的ZooKeeper应用 421

13.4.3 锁服务 425

13.4.4 更多分布式数据结构和协议 427

13.5 工业界中的ZooKeeper 428

13.5.1 恢复力及性能 428

13.5.2 配置 429

第14章 案例研究 431

14.1 Hadoop在Last.fm的应用 431

14.1.1 Last.fm:社会音乐革命 431

14.1.2 使用Hadoop生成排行榜 432

14.1.3 单曲统计程序 433

14.1.4 小结 440

14.2 Hadoop和Hive在Facebook的应用 441

14.2.1 简介 441

14.2.2 Hadoop在Facebook的应用 441

14.2.3 虚拟案例研究 444

14.2.4 Hive 446

14.2.5 存在的问题及未来的工作 450

14.3 Hadoop在Nutch搜索引擎 451

14.3.1 背景 451

14.3.2 数据结构 453

14.3.3 Nutch中Hadoop数据处理精选实例 455

14.3.4 小结 465

14.4 Hadoop用于Rackspace的日志处理 466

14.4.1 需求/存在的问题 466

14.4.2 简史 467

14.4.3 选择Hadoop 467

14.4.4 收集和存储 467

14.4.5 日志的MapReduce 468

14.5 Cascading项目 474

14.5.1 字段、元组和管道 475

14.5.2 操作 477

14.5.3 Tap、Sheme和Flow 479

14.5.4 Cascading实践 480

14.5.5 灵活性 483

14.5.6 Hadoop和Cascading在ShareThis的应用 484

14.5.7 小结 487

14.6 Apache Hadoop的1 TB排序 488

附录A Apache Hadoop的安装 491

附录B Cloudera的Hadoop分发包 497

附录C 预备NCDC气象资料 502