全英文版高清pdf,亚马逊价值287元的图书
作者简介
om White
数学王子&Hadoop专家。身为Apache Hadoop提交者八年之久,Apache软件基金会成员之一。全球知名云计算公司Cloudera的软件工程师。Tom拥有英国剑桥大学数学学士学位和利兹大学科学哲学硕士学位。
目录
第1章 初识Hadoop 1
1.1 数据!数据! 1
1.2 数据的存储与分析 3
1.3 相较于其他系统的优势 4
1.3.1 关系型数据库管理系统 5
1.3.2 网格计算 7
1.3.3 志愿计算 9
1.4 Hadoop发展简史 10
1.5 Apache Hadoop和Hadoop生态系统 14
1.6 Hadoop的发行版本 15
1.6.1 本书包含的内容 16
1.6.2 兼容性 17
第2章 关于MapReduce 19
2.1 气象数据集 19
2.2 使用Unix工具来分析数据 21
2.3 使用Hadoop来分析数据 23
2.3.1 map和reduce 23
2.3.2 Java MapReduce 24
2.4 横向扩展 33
2.4.1 数据流 34
2.4.2 combiner函数 37
2.4.3 运行分布式的MapReduce作业 39
2.5 Hadoop Streaming 40
2.5.1 Ruby版本 40
2.5.2 Python版本 43
2.6 Hadoop Pipes 44
第3章 Hadoop分布式文件系统 49
3.1 HDFS的设计 49
3.2 HDFS的概念 51
3.2.1 数据块 51
3.2.2 namenode和datanode 52
3.2.3 联邦HDFS 53
3.2.4 HDFS的高可用性 54
3.3 命令行接口 56
3.4 Hadoop文件系统 58
3.5 Java接口 62
3.5.1 从Hadoop URL读取数据 63
3.5.2 通过FileSystem API读取数据 64
3.5.3 写入数据 68
3.5.4 目录 70
3.5.5 查询文件系统 70
3.5.6 删除数据 75
3.6 数据流 75
3.6.1 剖析文件读取 75
3.6.2 剖析文件写入 78
3.6.3 一致模型 81
3.7 通过Flume和Sqoop导入数据 83
3.8 通过distcp并行复制 84
3.9 Hadoop存档 86
3.9.1 使用Hadoop存档工具 86
3.9.2 不足 88
第4章 Hadoop的I/O操作 89
4.1 数据完整性 89
4.1.1 HDFS的数据完整性 89
4.1.2 LocalFileSystem 91
4.1.3 ChecksumFileSystem 91
4.2 压缩 92
4.2.1 codec 93
4.2.2 压缩和输入分片 98
4.2.3 在MapReduce中使用压缩 99
4.3 序列化 102
4.3.1 Writable接口 103
4.3.2 Writable类 105
4.3.3 实现定制的Writable集合 114
4.3 序列化框架 118
4.4 Avro 121
4.4.1 Avro数据类型和模式 122
4.4.2 内存中的序列化和反序列化 126
4.4.3 Avro数据文件 129
4.4.4 互操作性 130
4.4.5 模式的解析 133
4.4.6 排列顺序 135
4.4.7 关于Avro MapReduce 137
4.4.8 使用Avro MapReduce进行排序 141
4.4.9 其他语言的Avro MapReduce 143
4.5 基于文件的数据结构 143
4.5.1 关于SequenceFile 143
4.5.2 关于MapFile 151
第5章 MapReduce应用开发 157
5.1 用于配置的API 157
5.1.1 资源合并 159
5.1.2 可变的扩展 160
5.2 配置开发环境 160
5.2.1 管理配置 162
5.2.2 辅助类GenericOptionsParser,Tool和ToolRunner 165
5.3 用MRUnit来写单元测试 168
5.3.1 关于Mapper 168
5.3.2 关于Reducer 170
5.4 本地运行测试数据 171
5.4.1 在本地作业运行器上运行作业 171
5.4.2 测试驱动程序 175
5.5 在集群上运行 176
5.5.1 打包作业 177
5.5.2 启动作业 179
5.5.3 MapReduce的Web界面 181
5.5.4 获取结果 184
5.5.5 作业调试 185
5.5.6 Hadoop日志 190
5.5.7 远程调试 192
5.6 作业调优 193
5.7 MapReduce的工作流 196
5.7.1 将问题分解成MapReduce作业 197
5.7.2 关于JobControl 198
5.7.3 关于Apache Oozie 199
第6章 MapReduce的工作机制 205
6.1 剖析MapReduce作业运行机制 205
6.1.1 经典的MapReduce (MapReduce 1) 206
6.1.2 YARN (MapReduce 2) 213
6.2 失败 219
6.2.1 经典MapReduce中的失败 219
6.2.2 YARN中的失败 222
6.3 作业的调度 224
6.3.1 公平调度器 225
6.3.2 容量调度器 225
6.4 shuffle和排序 226
6.4.1 map端 226
6.4.2 reduce端 228
6.4.3 配置调优 230
6.5 任务的执行 232
6.5.1 任务执行环境 232
6.5.2 推测执行 233
6.5.3 关于OutputCommitters 235
6.5.4 任务JVM重用 237
6.5.5 跳过坏记录 238
第7章 MapReduce的类型与格式 241
7.1 MapReduce的类型 241
7.1.1 默认的MapReduce作业 245
7.1.2 默认的Streaming作业 249
7.2 输入格式 252
7.2.1 输入分片与记录 252
7.2.2 文本输入 264
7.2.3 二进制输入 268
7.2.4 多个输入 269
7.2.5 数据库输入(和输出) 270
7.3 输出格式 271
7.3.1 文本输出 271
7.3.2 二进制输出 272
7.3.3 多个输出 272
7.3.4 延迟输出 277
7.3.5 数据库输出 277
第8章 MapReduce的特性 279
8.1 计数器 279
8.1.1 内置计数器 279
8.1.2 用户定义的Java计数器 284
8.1.3 用户定义的Streaming计数器 289
8.2 排序 289
8.2.1 准备 290
8.2.2 部分排序 291
8.2.3 全排序 295
8.2.4 辅助排序 299
8.3 连接 305
8.3.1 map端连接 307
8.3.2 reduce端连接 307
8.4 边数据分布 311
8.4.1 利用JobConf来配置作业 311
8.4.2 分布式缓存 311
8.5 MapReduce库类 318
第9章 构建Hadoop集群 321
9.1 集群规范 321
9.2 集群的构建和安装 325
9.2.1 安装Java 326
9.2.2 创建Hadoop用户 326
9.2.3 安装Hadoop 326
9.2.4 测试安装 327
9.3 SSH配置 327
9.4 Hadoop配置 328
9.4.1 配置管理 329
9.4.2 环境设置 332
9.4.3 Hadoop守护进程的关键属性 336
9.4.4 Hadoop守护进程的地址和端口 341
9.4.5 Hadoop的其他属性 343
9.4.6 创建用户帐号 346
9.5 YARN配置 346
9.5.1 YARN守护进程的重要属性 347
9.5.2 YARN守护进程的地址和端口 350
9.6 安全性 352
9.6.1 Kerberos和Hadoop 353
9.6.2 委托令牌 355
9.6.3 其他安全性改进 356
9.7 利用基准评测程序测试Hadoop集群 358
9.7.1 Hadoop基准评测程序 358
9.7.2 用户作业 361
9.8 云端的Hadoop 361
第10章 管理Hadoop 367
10.1 HDFS 367
10.1.1 永久性数据结构 367
10.1.2 安全模式 373
10.1.3 日志审计 375
10.1.4 工具 375
10.2 监控 380
10.2.1 日志 381
10.2.2 度量 382
10.2.3 Java管理扩展(JMX) 385
10.3 维护 387
10.3.1 日常管理过程 387
10.3.2 委任和解除节点 389
10.3.3 升级 392
- Hadoop:The.Definitive_.Guid_3rd_Early_.Release_.pdf