《Hadoop权威指南 修订&升级版》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)怀特著;周敏奇,王晓玲,金澈清,钱卫宁译;周傲英审校
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302257585
  • 页数:601 页
图书介绍:本书从Hadoop的缘起开始,全方位地介绍Hadoop这一高性能海量数据集处理工具。

第1章 初识Hadoop 1

数据!数据! 1

数据存储与分析 3

与其他系统相比 4

关系型数据库管理系统 4

网格计算 6

志愿计算 8

Hadoop发展简史 9

Apache Hadoop和Hadoop生态圈 12

第2章 关于MapReduce 15

一个气象数据集 15

数据的格式 15

使用Unix工具进行数据分析 17

使用Hadoop分析数据 18

map阶段和reduce阶段 18

Java MapReduce 20

横向扩展 27

数据流 28

combiner 30

运行分布式的MapReduce作业 33

Hadoop的Streaming 33

Ruby版本 33

Python版本 36

Hadoop的Pipes 37

编译运行 38

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

HDFS的设计 41

HDFS的概念 43

数据块 43

namenode和datanode 44

命令行接口 45

基本文件系统操作 46

Hadoop文件系统 47

接口 49

Java接口 51

从Hadoop URL中读取数据 51

通过FileSystem API读取数据 52

写入数据 55

目录 57

查询文件系统 57

删除数据 62

数据流 62

文件读取剖析 62

文件写入剖析 65

一致模型 68

通过distcp并行复制 70

保持HDFS集群的均衡 71

Hadoop存档 71

使用Hadoop存档工具 72

不足 73

第4章 Hadoop I/O 75

数据完整性 75

HDFS的数据完整性 75

LocalFileSystem 76

ChecksumFileSystem 77

压缩 77

codec 78

压缩和输入分片 83

在MapReduce中使用压缩 84

序列化 86

Writable接口 87

Writable类 89

实现定制的Writable类型 96

序列化框架 101

Avro 103

基于文件的数据结构 116

SequenceFile 116

MapFile 123

第5章 MapReduce应用开发 129

配置API 130

合并多个源文件 131

可变的扩展 132

配置开发环境 132

配置管理 132

辅助类GenericOptionsParser,Tool和ToolRunner 135

编写单元测试 138

mapper 138

reducer 140

本地运行测试数据 141

在本地作业运行器上运行作业 141

测试驱动程序 145

在集群上运行 146

打包 146

启动作业 146

MapReduce的Web界面 148

获取结果 151

作业调试 153

使用远程调试器 158

作业调优 160

分析任务 160

MapReduce的工作流 163

将问题分解成MapReduce作业 163

运行独立的作业 165

第6章 MapReduce的工作机制 167

剖析MapReduce作业运行机制 167

作业的提交 167

作业的初始化 169

任务的分配 169

任务的执行 170

进度和状态的更新 170

作业的完成 172

失败 173

任务失败 173

tasktracker失败 175

jobtracker失败 175

作业的调度 175

Fair Scheduler 176

Capacity Scheduler 177

shuffle和排序 177

map端 177

reduce端 179

配置的调优 180

任务的执行 183

推测执行 183

任务JVM重用 184

跳过坏记录 185

任务执行环境 186

第7章 MapReduce的类型与格式 189

MapReduce的类型 189

默认的MapReduce作业 192

输入格式 198

输入分片与记录 198

文本输入 209

二进制输入 213

多种输入 214

数据库输入(和输出) 215

输出格式 215

文本输出 216

二进制输出 216

多个输出 217

延迟输出 224

数据库输出 224

第8章 MapReduce的特性 225

计数器 225

内置计数器 225

用户定义的Java计数器 227

用户定义的Streaming计数器 232

排序 232

准备 232

部分排序 233

全排序 237

辅助排序 241

连接 247

map端连接 247

reduce端连接 249

边数据分布 252

利用JobConf来配置作业 252

分布式缓存 253

MapReduce库类 257

第9章 构建Hadoop集群 259

集群规范 259

网络拓扑 261

集群的构建和安装 263

安装Java 264

创建Hadoop用户 264

安装Hadoop 264

测试安装 265

SSH配置 265

Hadoop配置 266

配置管理 267

环境设置 269

Hadoop守护进程的关键属性 273

Hadoop守护进程的地址和端口 278

Hadoop的其他属性 279

创建用户帐号 280

安全性 281

Kerberos和Hadoop 282

委托令牌 284

其他安全性改进 285

利用基准测试程序测试Hadoop集群 286

Hadoop基准测试程序 287

用户的作业 289

云端的Hadoop 289

Amazon EC2上的Hadoop 290

第10章 管理Hadoop 293

HDFS 293

永久性数据结构 293

安全模式 298

日志审计 300

工具 300

监控 305

日志 305

度量 306

Java管理扩展(JMX) 309

维护 312

日常管理过程 312

委任和解除节点 313

升级 316

第11章 Pig简介 321

安装与运行Pig 322

执行类型 322

运行Pig程序 324

Grunt 324

Pig Latin编辑器 325

示例 325

生成示例 327

与数据库比较 328

Pig Latin 330

结构 330

语句 331

表达式 335

类型 336

模式 338

函数 342

用户自定义函数 343

过滤UDF 343

计算UDF 347

加载UDF 348

数据处理操作 351

加载和存储数据 351

过滤数据 352

分组与连接数据 354

对数据进行排序 359

组合和切分数据 360

Pig实战 361

并行处理 361

参数替换 362

第12章 Hive简介 365

安装Hive 366

Hive外壳环境 367

示例 368

运行Hive 369

配置Hive 369

Hive服务 371

metastore 373

和传统数据库进行比较 375

读时模式vs.写时模式 376

更新、事务和索引 376

HiveQL 377

数据类型 378

操作与函数 380

表 381

托管表和外部表 381

分区和桶 383

存储格式 387

导入数据 392

表的修改 394

表的丢弃 395

查询数据 395

排序和聚集 395

MapReduce脚本 396

连接 397

子查询 400

视图 401

用户定义函数 402

编写UDF 403

编写UDAF 405

第13章 HBase 411

HBase基础 411

背景 412

概念 412

数据模型的“旋风之旅” 412

实现 413

安装 416

测试驱动 417

客户端 419

Java 419

Avro、REST和Thrift 422

示例 423

模式 424

加载数据 425

Web查询 428

HBase和RDBMS的比较 431

成功的服务 432

HBase 433

实例:HBase在Streamy.com的使用 433

Praxis 435

版本 435

HDFS 436

用户界面 437

度量 437

模式的设计 438

计数器 438

批量加载 439

第14章 ZooKeeper 441

安装和运行ZooKeeper 442

示例 443

ZooKeeper中的组成员关系 444

创建组 444

加入组 447

列出组成员 448

删除组 450

ZooKeeper服务 451

数据模型 451

操作 453

实现 457

一致性 458

会话 460

状态 462

使用ZooKeeper来构建应用 463

配置服务 463

可复原的ZooKeeper应用 466

锁服务 470

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

生产环境中的ZooKeeper 473

可恢复性和性能 473

配置 474

第15章 开源工具Sqoop 477

获取Sqoop 477

一个导入的例子 479

生成代码 482

其他序列化系统 482

深入了解数据库导入 483

导入控制 485

导入和一致性 485

直接模式导入 485

使用导入的数据 486

导入的数据与Hive 487

导入大对象 489

执行导出 491

深入了解导出 493

导出与事务 494

导出和SequenceFile 494

第16章 实例分析 497

Hadoop在Last.fm的应用 497

Last.fm:社会音乐史上的革命 497

Hadoop在Last.fm中的应用 497

用Hadoop产生图表 498

Track Statistics程序 499

总结 506

Hadoop和Hive在Facebook中的应用 506

概要介绍 506

Hadoop在Facebook的使用 506

假想的使用情况 509

Hive 512

存在的问题与未来工作计划 516

Nutch搜索引擎 517

背景介绍 517

数据结构 518

Nutch系统利用Hadoop进行数据处理的精选实例 521

总结 530

Rackspace的日志处理 531

简史 532

选择Hadoop 532

收集和存储 532

日志的MapReduce模型 533

关于Cascading 539

字段、元组和管道 540

操作 542

Tap类、Scheme对象和Flow对象 544

Cascading实战 545

灵活性 548

Hadoop和Cascading在ShareThis的应用 549

总结 552

Apache Hadoop的TB字节数量级排序 553

使用Pig和Wukong来探索10亿数量级边的网络图 556

测量社区 558

每个人都在和我说话:Twitter回复关系图 558

度(degree) 560

对称链接 561

社区提取 562

附录A 安装Apache Hadoop 565

附录B Cloudera's Distribution for Hadoop 571

附录C 准备NCDC天气数据 573

索引 577