《MapReduce 2.0源码分析与编程实战》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:王晓华著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115332370
  • 页数:289 页
图书介绍:本书通过循序渐进介绍Hadoop的基本组成部分,从底层HDFS构建到MapReduce的处理过程,向读者展示了Hadoop底层存储和处理大数据的方法。通过对开源项目MapReduce的源码分析和实例解读,主要介绍了使用MapReduce进行实战程序设计方法,向读者详细说明了从使用程序进行从基础的HDFS文件的增删改查,到使用编程手段获取数据处理结果的程序方法。

第1章 大象也会跳舞 1

1.1大数据时代 1

1.2大数据分析时代 2

1.3简单、粗暴、有效——这就是Hadoop 3

1.4 MapReduce与Hadoop 4

1.5看,大象也会跳舞 6

本章小结 7

第2章 大象的肚子——HDFS文件系统详解 8

2.1HDFS基础详解 8

2.1.1 HDFS设计思路 9

2.1.2 HDFS架构与基本存储单元 10

2.2 HDFS数据存取流程分析 11

2.2.1 HDFS数据存储位置与复制详解 12

2.2.2 HDFS输入流程分析 14

2.2.3 HDFS输出流程分析 15

2.3 HDFS命令行操作详解 16

2.3.1 HDFS中4个通用的命令行操作 17

2.3.2 HDFS文件18个基本命令行的操作 17

2.3.3 HDFS文件访问权限详解 21

2.4通过Web浏览HDFS文件 22

2.5 HDFS接口使用详解 24

2.5.1使用FileSystem API操作HDFS中的内容 24

2.5.2使用FileSystem API读取数据详解 26

2.5.3使用FileSystem API写入数据详解 29

2.6 HDFS文件同步与并发访问 32

本章小结 32

第3章 “吃下去吐出来”——Hadoop文件I/O系统详解 34

3.1Hadoop的压缩类型介绍 34

3.2 Hadoop的压缩类库 36

3.2.1从一个简单的例子开始 36

3.2.2 CompressionCodec接口 36

3.2.3 CompressionCodecFactory类详解 38

3.2.4压缩池 40

3.2.5在Hadoop中使用压缩 41

3.3 I/O中序列化类型详解 43

3.3.1 Text类详解 44

3.3.2 IntWritable类详解 49

3.3.3 ObjectWritable类详解 50

3.3.4 NullWritable类详解 51

3.3.5 ByteWritable类详解 52

3.4实现自定义的Writable类型 52

3.4.1 Writable接口 53

3.4.2 WritableComparable接口与RawComparator接口 54

3.4.3自定义的Writable类 55

3.4.4为了更快的比较 57

3.5 Hadoop中小文件处理详解 60

3.5.1 SequenceFile详解 60

3.5.2 MapFile详解 65

本章小结 68

第4章“大象的大脑”——MapReduce框架结构与源码分析 69

4.1 MapReduce框架结构与源码分析 69

4.1.1 MapReduce框架分析与执行过程详解 70

4.1.2 MapReduce输入输出与源码分析 72

4.1.3 MapReduce中Job类详解 76

4.2编程实战:经典的MapReduce单词计数程序 80

4.2.1准备工作 81

4.2.2 MapReduce过程分析 82

4.2.3计数程序的MapReduce实现 84

4.2.4计数程序的main方法 86

4.2.5注意事项 87

4.2.6运行结果 89

4.2.7 Mapper中的Combiner详解 91

本章小结 91

第5章 深入!MapReduce配置与测试 93

5.1 MapReduce环境变量配置详解 93

5.1.1使用XML配置新的配置文件 93

5.1.2修改已有的配置文件 95

5.1.3辅助类ToolRunner、Configured详解 98

5.2使用MRUnit对MapReduce进行测试 101

5.2.1 MRUnit简介与使用 101

5.2.2使用MRUnit完成Mapper单元测试 103

5.2.3使用MRUnit完成Reduce单元测试 104

5.2.4使用MRUnit完成MapReduce单元测试 105

5.3在本地磁盘上进行MapReduce测试 106

5.3.1伪环境欺骗 107

5.3.2在Eclipse中配置Hadoop插件 107

5.3.3编写本地测试代码 110

5.4 MapReduce计数器 114

5.4.1使用计数器的MapReduce程序设计 114

5.4.2通过Web接口进行任务分析 117

5.4.3通过Web接口查看计数器 120

本章小结 122

第6章 大象的思考流程——MapReduce运行流程详解 123

6.1经典MapReduce任务的工作流程 123

6.1.1 ClientNode执行任务的初始化 124

6.1.2消息传递 125

6.1.3 MapReduce任务的执行 126

6.1.4任务的完成与状态更新 126

6.2经典MapReduce任务异常处理详解 127

6.2.1 MapReduce任务异常的处理方式 127

6.2.2 MapReduce任务失败的处理方式 130

6.3经典MapReduce任务的数据处理过程 131

6.3.1 Map端的输入数据处理过程 132

6.3.2 Reduce端的输入数据处理过程 132

6.3.3 Java虚拟机重用 133

6.4 MapReduce 2.0 (YARN)工作流程详解 133

6.4.1 YARN概述 134

6.4.2 YARN任务过程分析 136

6.4.3 YARN的异常处理 137

本章小结 138

第7章 更强的大象——MapReduce高级程序设计续 139

7.1MapReduce程序设计默认格式类型详解 139

7.1.1 map与reduce方法的默认输入输出类型 139

7.1.2自定义输入输出类型设置 140

7.1.3自定义全局类型变量设置要求 143

7.1.4默认的MapReduce程序设置 145

7.2 InputFormat输入格式详解 147

7.2.1输入记录与分区 148

7.2.2 InputFormat源码及执行过程分析 149

7.2.3实现自己的RecordReader类 150

7.2.4自定义的FileInputFormat类 154

7.2.5一些常用的InputFormat类详解 158

7.3 OutputFormat输出格式详解 160

7.3.1 OutputFormat默认输出格式 160

7.3.2自定义OutputFormat输出格式 161

7.3.3对Reduce任务数进行设置 165

7.3.4 OutputFormat分区类Partitioner详解 168

7.4多种输入与输出使用介绍 174

7.4.1 MultipleInputs多种输入方式详解 174

7.4.2 MultipleOutputs多种输出方式详解 175

本章小结 176

第8章MapReduce相关特性详解 177

8.1MapReduce计数器 177

8.1.1 Hadoop框架内置的计数器 177

8.1.2自定义计数器 181

8.1.3动态计数器 184

8.1.4获取计数器值 186

8.2排序与查找 187

8.2.1普通排序规则与查找 188

8.2.2使用MapFile进行排序与查找 189

8.3对输出结果的值分组排序 193

8.3.1准备工作 193

8.3.2对结果进行分组处理 195

8.3.3对键的二次排序 196

8.3.4自定义输出分组 198

8.4编程实战:使用二次排序自动查找最小值 199

8.4.1思路分析 200

8.4.2验证输入输出结果 202

8.4.3对结果进行二次排序 204

8.4.4对结果进行分组 205

8.4.5分片处理排序与分组 206

8.4.6验证结果 207

本章小结 211

第9章 啤酒与尿布——MapReduce连接与数据挖掘初步 212

9.1对于同样格式数据进行MapReduce连接 212

9.2对于不同格式数据进行MapReduce连接 216

9.3不能说的秘密——啤酒与尿布 219

9.3.1销售清单的秘密 219

9.3.2设计程序 220

9.3.3程序执行结果 221

9.4数据挖掘初步 223

本章小结 226

第10章MapReduce实战编程及深度分析 227

10.1编程实战:自定义数据库中读取数据 227

10.1.1准备工作 227

10.1.2程序分析 228

10.1.3自定义SQLInputFormat 229

10.1.4使用自定义程序从数据库中读取数据 232

10.1.5程序运行及数据分析 234

10.1.6使用合并记录进行性能调优 236

10.2编程实战:串联寻找共同转载微博 239

10.2.1应用分析 240

10.2.2第一步表转换 241

10.2.3建立关注连接 243

10.2.4自定义的OutputFormat 245

10.2.5串联解决共同转载微博 246

10.2.6性能调优及后续处理 250

10.3编程实战:云存储模型 251

10.3.1应用分析 251

10.3.2 Tomcat简介 252

10.3.3配置Tomcat服务器 254

10.3.4测试Tomcat服务器 256

10.3.5在Eclipse中配置Tomcat 257

10.3.6创建云存储目录 260

10.3.7获取云存储列表 262

10.3.8将文件上传至数据云存储中 264

10.3.9删除文件 269

10.3.10下载云端存储文件 270

10.3.11程序执行与性能调优 272

10.4编程实战:多文档相似关键字检索 272

10.4.1应用分析 273

10.4.2自定义任务处理类 275

10.4.3程序执行及后续分析 277

10.5编程实战:学生成绩整理与分组 279

10.5.1应用分析 279

10.5.2自定义的ScoreWritable 280

10.5.3自定义的MapReduce 281

10.5.4自定义的分组 282

10.5.5程序运行结果 283

10.5.6采用更多分组类型 289

本章小结 289