MapReduce 2.0源码分析与编程实战.pdf

MapReduce 2.0源码分析与编程实战.pdf
 

书籍描述

编辑推荐
资深云计算技术讲师潜心力作
CSDN Hadoop版主鼎力推荐
深入浅出、结合实例,帮你在实战中掌握MapReduce 2.0编程的精髓

媒体推荐
目前,这是国内第一本介绍MapReduce 2.0程序
设计的书籍,是对现阶段Hadoop知识体系的一个很好
的补充。这是一本写给有志于致力大数据处理的人看的
书,书中不仅介绍MapReduce程序设计的使用方法,
更多的是传递了作者对MapReduce处理大数据理念的
思考。我希望这本书能够将更多的朋友和有志之士带入
到大数据处理这一条辉煌之路上来,造就更多的人才。
——杨枢,计算机博士、资深讲师

本书内容详实,解读透彻,分析深入,实例精彩。
不失为学习MapReduce 2.0的最好入门教程。
——Tntzbzc,CSDN技术社区分布式计算Hadoop区版主

这本书最大的特点是深入浅出,语言生动。将深奥
的理论和编程方法用最简单的语言表述出来娓娓道来。
作者是有多年实践教学经验的讲师,长期教授计算机方
面课程,有丰富的实践教学经验。本书一定会让你在学
习MapReduce编程方面受益匪浅。
——张超,上海计算机软件技术开发中心资深项目经理

作者简介
王晓华,高校资深计算机专业讲师,给研究生和本科生讲授面向对象程序设计、数据结构、Hadoop程序设计等相关课程。主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立完成一项科研成果获省级成果认定,发表过多篇论文,申请一项专利。

目录
目 录

第1章 大象也会跳舞
1.1 大数据时代 1
1.2 大数据分析时代 2
1.3 简单、粗暴、有效——这就是Hadoop 3
1.4 MapReduce与Hadoop 4
1.5 看,大象也会跳舞 6
本章小结 7

第2章 大象的肚子——HDFS文件系统详解
2.1 HDFS基础详解 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系统详解
3.1 Hadoop的压缩类型介绍 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框架结构与源码分析
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配置与测试
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运行流程详解
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高级程序设计续
7.1 MapReduce程序设计默认格式类型详解 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相关特性详解
8.1 MapReduce计数器 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连接与数据挖掘初步
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实战编程及深度分析
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

内容简介
  Hadoop是一种分布式数据和计算的框架,在大数据处理中应用非常广泛。MapReduce是一种编程模型。Hadoop正是以MapReduce作为核心编程模型的。
  《MapReduce 2.0源码分析与编程实战》比较系统地介绍了新一代MapReduce 2.0的理论体系、架构和程序设计方法。全书分为10章,系统地介绍了HDFS存储系统,Hadoop的文件I/O系统,MapReduce 2.0的框架结构和源码分析,MapReduce 2.0的配置与测试,MapReduce 2.0运行流程,MapReduce 2.0高级程序设计以及相关特性等内容。《MapReduce 2.0源码分析与编程实战》最后部分介绍了数据挖掘的初步知识,以及不同应用类型的MapReduce 2.0编程实战。
  《MapReduce 2.0源码分析与编程实战》强调理论联系实际,帮助读者在掌握MapReduce 2.0基本知识和特性的基础上,培养实际编程和解决大数据处理相关问题的能力。《MapReduce 2.0源码分析与编程实战》可作为学习MapReduce 2.0的源码、MapReduce 2.0程序设计、数据挖掘、机器学习等相关内容的程序设计人员的培训和自学读物,也可以作为高等院校相关专业的教学辅导书。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多