本书用于Hadoop Spark快速上手,全面解析Hadoop和Spark生态系统,通过原理解说和实例操作每一个组件,让读者能够轻松跨入大数据分析与开发的大门。
全书共12章,大致分为3个部分,第1部分(第1~7章)讲解Hadoop的原生态组件,包括Hadoop、ZooKeeper、HBase、Hive环境搭建与安装,以及介绍MapReduce、HDFS、ZooKeeper、HBase、Hive原理和Apache版本环境下实战操作。第2部分(第8~11章)讲解Spark的原生态组件,包括Spark Core、Spark SQL、Spark Streaming、DataFrame,以及介绍Scala、Spark API、Spark SQL、Spark Streaming、DataFrame原理和CDH版本环境下实战操作,其中Flume和Kafka属于Apache*开源项目也放在本篇讲解。第3部分(第12章)讲解两个大数据项目,包络网页日志离线项目和实时项目,在CDH版本环境下通过这两个项目将Hadoop和Spark原生态组件进行整合,一步步带领读者学习和实战操作。
本书适合想要快速掌握大数据技术的初学者,也适合作为高等院校和培训机构相关专业师生的教学参考书和实验用书。
通过实际操作,快速学习Hadoop Spark大数据技术。解析Hadoop Spark常用组件原理和实战操作,让读者快速了解组件原理和应用。结合Hadoop Spark原生态组件操作,使得读者了解当今互联网应用极为广泛的集群技术。帮助读者构建Hadoop Spark两大生态系统全局观。
近几年来,随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。大数据技术快速火热,大数据开发工程师更是供不应求。本书是一本Hadoop Spark快速上手的书,从Hadoop生态系统和Spark生态系统全面原理解析和实战操作每一个组件,每一个知识点都讲得十分细致,让读者能够轻松地跨入大数据开发工程师的大门。
大数据工程师薪资
近几年大数据岗位尤其火热,大数据开发工程师供不应求,市面上大数据开发工程师起步就是8千元,1年工作经验1万2千元,2年工作经验1万5千元,3年工作经验2万以上。根据每个人自身学习能力不同,有人2年就可以达到2万元以上。
下图是神州数码于2017年6月6日发布的一则招聘信息。
本书内容
全书共12章,分为3个部分,第1部分(第1~7章)讲解了Hadoop的原生态组件,包括Hadoop、ZooKeeper、HBase、Hive环境搭建与安装,以及如何对MapReduce、HDFS、ZooKeeper、HBase、Hive进行原理介绍和Apache版本环境下实战的操作。第2部分(第8~11章)讲解Spark的原生态组件,包括Spark Core、Spark SQL、Spark Streaming、DataFrame,以及如何对Scala、Spark API、Spark SQL、Spark Streaming、DataFrame进行原理介绍和CDH版本环境下实战的操作,其中Flume和Kafka属于Apache顶级开源项目也放在本篇讲解。第3部分(第12章)讲解大数据项目,包络网页日志离线项目和实时项目,在CDH版本环境下通过两个项目将Hadoop和Spark原生态组件进行整合,一步步带领读者实战大数据项目。
本书特色
本书是一本Hadoop Spark的快速入门书籍,以通俗易懂的方式介绍了Hadoop Spark原生态组件的原理、实战操作以及集群搭建方面的知识。其中,Hadoop原生态组件包括:MapReduce、HDFS、ZooKeeper、HBase、Hive;Spark原生态组件包括:Spark Core、Spark SQL、Spark Streaming、Dataframe;同时包括Apache版本和CDH5版本的Hadoop集群搭建。本书的特点是:注重实战训练,强调知识系统性,关注内容实用性。
(1)本书从培训角度对读者简述Hadoop Spark中常用组件的原理和实战操作,让读者快速了解组件原理和功能使用。
(2)每一个操作都配有实例代码或者图片来帮助理解,每一章的最后还有小节,以归纳总结本章的内容,帮助读者对Hadoop Spark原生态系统有一个大的全局观。
(3)目前市面上关于Hadoop的书很多,关于Spark的书也很多,但是很少有对Hadoop Spark 结合进行讲解。本书首先讲解Hadoop Spark原理,接着讲解Hadoop Spark原生态组件的实例操作,最后结合大数据网站日志离线和实时两个项目融合Hadoop Spark所有生态系统功能,使读者对本书有一个由浅入深且快速上手的过程。
本书适合读者
本书适合Hadoop Spark的初学者,希望深入了解Hadoop Spark安装部署、开发优化的大数据工程师,希望深入了解Hadoop Spark管理、业务框架扩展的大数据架构师,以及任何对Hadoop Spark相关技术感兴趣的读者。
本书代码、软件、文档下载
本书代码、软件、文档下载地址(注意数字和字母大小写)如下:
http://pan.baidu.com/s/1cCi0k2
如果下载有问题,请联系电子邮箱booksaga@163.com,邮件主题为Hadoop Spark生态系统与实战指南。
本书作者
余辉,中国科学院大学硕士研究生毕业,研究方向为云计算和大数据。现供职于某上市公司技术经理,并在Oracle OAEC人才产业集团大数据学院(http://www.oracleoaec.com.cn/)担任大数据讲师。曾在清华大学电子工程系NGNLab研究室(http://ngn.ee.tsinghua.edu.cn/)担任软件工程师。
已发表两篇大数据论文:《微博舆情的Hadoop存储和管理平台设计与实现》和《跨媒体多源网络舆情分析系统设计与实现》
博客:http://blog.csdn.net/silentwolfyh
微博:http://weibo.com/u/3195228233
电子邮箱:yuhuiqh2009@163.com
致谢
赶在儿子1岁生日之际,赶在我告别30岁之际,我撰写《Hadoop Spark生态系统操作与实战指南》一书,作为我儿子的生日礼物。感谢父母提供了良好的生活环境,感谢舅舅、舅妈提供了良好的学习平台,感谢我的老婆、姐姐、姐夫在生活上对我的支持和奉献。最后,感谢清华工作和学习的那些时光,清华六年,我学会了生存技能、找到了研究方向、培养了生活习惯。
余 辉
2017年7月
余辉,中国科学院大学硕士研究生毕业,研究方向为云计算和大数据。现供职于某上市公司担任技术经理,并在 Oracle OAEC人才产业集团大数据学院担任大数据讲师。 曾在清华大学电子工程系NGNLab研究室担任软件工程师。
第1章 Hadoop概述 1
1.1
Hadoop简介 1
1.2
Hadoop版本和生态系统 3
1.3
MapReduce简介 7
1.4
HDFS简介 8
1.5
Eclipse Java开发环境搭建 10
1.5.1
Java安装 10
1.5.2
Maven安装 11
1.5.3
Eclipse安装和配置 12
1.5.4
Eclipse创建Maven项目 16
1.5.5
Eclipse其余配置 19
1.6 小结 21
第2章 Hadoop集群搭建 22
2.1 虚拟机简介 22
2.2 虚拟机配置 24
2.3
Linux系统设置 31
2.4
Apache版本Hadoop集群搭建 36
2.5
CDH版本Hadoop集群搭建 44
2.5.1
安装前期准备 44
2.5.2
Cloudera Manager安装 45
2.5.3
CDH安装 46
2.6 小结 55
第3章 Hadoop基础与原理 56
3.1
MapReduce原理介绍 56
3.1.1
MapReduce的框架介绍 56
3.1.2
MapReduce的执行步骤 58
3.2
HDFS原理介绍 59
3.2.1
HDFS是什么 59
3.2.2
HDFS架构介绍 59
3.3
HDFS实战 62
3.3.1
HDFS客户端的操作 62
3.3.2
Java操作HDFS 65
3.4
YARN原理介绍 69
3.5 小结 71
第4章 ZooKeeper实战 72
4.1
ZooKeeper原理介绍 72
4.1.1 ZooKeeper基本概念 72
4.1.2
ZooKeeper工作原理 73
4.1.3
ZooKeeper工作流程 76
4.2
ZooKeeper安装 78
4.3
ZooKeeper实战 80
4.3.1
ZooKeeper客户端的操作 80
4.3.2
Java操作ZooKeeper 81
4.3.3
Scala操作ZooKeeper 85
4.4 小结 87
第5章 MapReduce实战 88
5.1 前期准备 88
5.2 查看YARN上的任务 95
5.3 加载配置文件 95
5.4
MapReduce实战 96
5.5 小结 121
第6章 HBase实战 122
6.1
HBase简介及架构 122
6.2
HBase安装 127
6.3
HBase实战 129
6.3.1
HBase客户端的操作 129
6.3.2
Java操作HBase 132
6.3.3
Scala操作HBase 136
6.4 小结 140
第7章 Hive实战 141
7.1
Hive介绍和架构 141
7.2
Hive数据类型和表结构 143
7.3 Hive分区、桶与倾斜 144
7.4
Hive安装 146
7.5
Hive实战 148
7.5.1
Hive客户端的操作 148
7.5.2
Hive常用命令 154
7.5.3
Java操作Hive 155
7.6 小结 161
第8章 Scala实战 162
8.1
Scala简介与安装 162
8.2
IntelliJ IDEA开发环境搭建 164
8.2.1
IntelliJ IDEA简介 164
8.2.2
IntelliJ IDEA安装 164
8.2.3
软件配置 166
8.3
IntelliJ IDEA建立Maven项目 171
8.4 基础语法 176
8.5 函数 179
8.6 控制语句 181
8.7 函数式编程 184
8.8 模式匹配 189
8.9 类和对象 191
8.10
Scala 异常处理 194
8.11
Trait(特征) 195
8.12
Scala文件I/O 196
8.13
作业 198
8.13.1
九九乘法表 198
8.13.2
冒泡排序 199
8.13.3
设计模式Command 200
8.13.4
集合对称判断 202
8.13.5
综合题 204
8.14
小结 206
第9章 Flume实战 207
9.1
Flume概述 207
9.2
Flume的结构 208
9.3
Flume安装 211
9.4
Flume实战 212
9.5 小结 214
第10章 Kafka实战 215
10.1
Kafka概述 215
10.1.1
简介 215
10.1.2
使用场景 217
10.2
Kafka设计原理 218
10.3
Kafka主要配置 222
10.4
Kafka客户端操作 224
10.5
Java操作Kafka 226
10.5.1
生产者 226
10.5.2
消费者 228
10.6
Flume连接Kafka 229
10.7
小结 233
第11章 Spark实战 234
11.1
Spark概述 234
11.2
Spark基本概念 234
11.3
Spark算子实战及功能描述 238
11.3.1
Value型Transformation算子 238
11.3.2
Key-Value型Transformation算子 242
11.3.3
Actions算子 245
11.4
Spark Streaming实战 248
11.5
Spark SQL和DataFrame实战 253
11.6
小结 266
第12章 大数据网站日志分析项目
267
12.1
项目介绍 267
12.2
网站离线项目 267
12.2.1
业务框架图 267
12.2.2
子服务趋势分析详解 268
12.2.3
表格的设计 272
12.2.4
提前准备 274
12.2.5
项目步骤 287
12.3
网站实时项目 297
12.3.1
业务框架图 297
12.3.2
子服务当前在线详解 297
12.3.3
表格的设计 302
12.3.4
提前准备 304
12.3.5
项目步骤 327
12.4
小结 337