本書用于Hadoop Spark快速上手,全面解析Hadoop和Spark生態(tài)系統(tǒng),通過原理解說和實例操作每一個組件,讓讀者能夠輕松跨入大數(shù)據(jù)分析與開發(fā)的大門。
全書共12章,大致分為3個部分,第1部分(第1~7章)講解Hadoop的原生態(tài)組件,包括Hadoop、ZooKeeper、HBase、Hive環(huán)境搭建與安裝,以及介紹MapReduce、HDFS、ZooKeeper、HBase、Hive原理和Apache版本環(huán)境下實戰(zhàn)操作。第2部分(第8~11章)講解Spark的原生態(tài)組件,包括Spark Core、Spark SQL、Spark Streaming、DataFrame,以及介紹Scala、Spark API、Spark SQL、Spark Streaming、DataFrame原理和CDH版本環(huán)境下實戰(zhàn)操作,其中Flume和Kafka屬于Apache*開源項目也放在本篇講解。第3部分(第12章)講解兩個大數(shù)據(jù)項目,包絡(luò)網(wǎng)頁日志離線項目和實時項目,在CDH版本環(huán)境下通過這兩個項目將Hadoop和Spark原生態(tài)組件進行整合,一步步帶領(lǐng)讀者學(xué)習(xí)和實戰(zhàn)操作。
本書適合想要快速掌握大數(shù)據(jù)技術(shù)的初學(xué)者,也適合作為高等院校和培訓(xùn)機構(gòu)相關(guān)專業(yè)師生的教學(xué)參考書和實驗用書。
通過實際操作,快速學(xué)習(xí)Hadoop Spark大數(shù)據(jù)技術(shù)。解析Hadoop Spark常用組件原理和實戰(zhàn)操作,讓讀者快速了解組件原理和應(yīng)用。結(jié)合Hadoop Spark原生態(tài)組件操作,使得讀者了解當(dāng)今互聯(lián)網(wǎng)應(yīng)用極為廣泛的集群技術(shù)。幫助讀者構(gòu)建Hadoop Spark兩大生態(tài)系統(tǒng)全局觀。
近幾年來,隨著計算機和信息技術(shù)的迅猛發(fā)展和普及應(yīng)用,行業(yè)應(yīng)用系統(tǒng)的規(guī)模迅速擴大,行業(yè)應(yīng)用所產(chǎn)生的數(shù)據(jù)呈爆炸性增長。大數(shù)據(jù)技術(shù)快速火熱,大數(shù)據(jù)開發(fā)工程師更是供不應(yīng)求。本書是一本Hadoop Spark快速上手的書,從Hadoop生態(tài)系統(tǒng)和Spark生態(tài)系統(tǒng)全面原理解析和實戰(zhàn)操作每一個組件,每一個知識點都講得十分細(xì)致,讓讀者能夠輕松地跨入大數(shù)據(jù)開發(fā)工程師的大門。
大數(shù)據(jù)工程師薪資
近幾年大數(shù)據(jù)崗位尤其火熱,大數(shù)據(jù)開發(fā)工程師供不應(yīng)求,市面上大數(shù)據(jù)開發(fā)工程師起步就是8千元,1年工作經(jīng)驗1萬2千元,2年工作經(jīng)驗1萬5千元,3年工作經(jīng)驗2萬以上。根據(jù)每個人自身學(xué)習(xí)能力不同,有人2年就可以達到2萬元以上。
下圖是神州數(shù)碼于2017年6月6日發(fā)布的一則招聘信息。
本書內(nèi)容
全書共12章,分為3個部分,第1部分(第1~7章)講解了Hadoop的原生態(tài)組件,包括Hadoop、ZooKeeper、HBase、Hive環(huán)境搭建與安裝,以及如何對MapReduce、HDFS、ZooKeeper、HBase、Hive進行原理介紹和Apache版本環(huán)境下實戰(zhàn)的操作。第2部分(第8~11章)講解Spark的原生態(tài)組件,包括Spark Core、Spark SQL、Spark Streaming、DataFrame,以及如何對Scala、Spark API、Spark SQL、Spark Streaming、DataFrame進行原理介紹和CDH版本環(huán)境下實戰(zhàn)的操作,其中Flume和Kafka屬于Apache頂級開源項目也放在本篇講解。第3部分(第12章)講解大數(shù)據(jù)項目,包絡(luò)網(wǎng)頁日志離線項目和實時項目,在CDH版本環(huán)境下通過兩個項目將Hadoop和Spark原生態(tài)組件進行整合,一步步帶領(lǐng)讀者實戰(zhàn)大數(shù)據(jù)項目。
本書特色
本書是一本Hadoop Spark的快速入門書籍,以通俗易懂的方式介紹了Hadoop Spark原生態(tài)組件的原理、實戰(zhàn)操作以及集群搭建方面的知識。其中,Hadoop原生態(tài)組件包括:MapReduce、HDFS、ZooKeeper、HBase、Hive;Spark原生態(tài)組件包括:Spark Core、Spark SQL、Spark Streaming、Dataframe;同時包括Apache版本和CDH5版本的Hadoop集群搭建。本書的特點是:注重實戰(zhàn)訓(xùn)練,強調(diào)知識系統(tǒng)性,關(guān)注內(nèi)容實用性。
(1)本書從培訓(xùn)角度對讀者簡述Hadoop Spark中常用組件的原理和實戰(zhàn)操作,讓讀者快速了解組件原理和功能使用。
(2)每一個操作都配有實例代碼或者圖片來幫助理解,每一章的最后還有小節(jié),以歸納總結(jié)本章的內(nèi)容,幫助讀者對Hadoop Spark原生態(tài)系統(tǒng)有一個大的全局觀。
(3)目前市面上關(guān)于Hadoop的書很多,關(guān)于Spark的書也很多,但是很少有對Hadoop Spark 結(jié)合進行講解。本書首先講解Hadoop Spark原理,接著講解Hadoop Spark原生態(tài)組件的實例操作,最后結(jié)合大數(shù)據(jù)網(wǎng)站日志離線和實時兩個項目融合Hadoop Spark所有生態(tài)系統(tǒng)功能,使讀者對本書有一個由淺入深且快速上手的過程。
本書適合讀者
本書適合Hadoop Spark的初學(xué)者,希望深入了解Hadoop Spark安裝部署、開發(fā)優(yōu)化的大數(shù)據(jù)工程師,希望深入了解Hadoop Spark管理、業(yè)務(wù)框架擴展的大數(shù)據(jù)架構(gòu)師,以及任何對Hadoop Spark相關(guān)技術(shù)感興趣的讀者。
本書代碼、軟件、文檔下載
本書代碼、軟件、文檔下載地址(注意數(shù)字和字母大小寫)如下:
http://pan.baidu.com/s/1cCi0k2
如果下載有問題,請聯(lián)系電子郵箱booksaga@163.com,郵件主題為Hadoop Spark生態(tài)系統(tǒng)與實戰(zhàn)指南。
本書作者
余輝,中國科學(xué)院大學(xué)碩士研究生畢業(yè),研究方向為云計算和大數(shù)據(jù)。現(xiàn)供職于某上市公司技術(shù)經(jīng)理,并在Oracle OAEC人才產(chǎn)業(yè)集團大數(shù)據(jù)學(xué)院(http://www.oracleoaec.com.cn/)擔(dān)任大數(shù)據(jù)講師。曾在清華大學(xué)電子工程系NGNLab研究室(http://ngn.ee.tsinghua.edu.cn/)擔(dān)任軟件工程師。
已發(fā)表兩篇大數(shù)據(jù)論文:《微博輿情的Hadoop存儲和管理平臺設(shè)計與實現(xiàn)》和《跨媒體多源網(wǎng)絡(luò)輿情分析系統(tǒng)設(shè)計與實現(xiàn)》
博客:http://blog.csdn.net/silentwolfyh
微博:http://weibo.com/u/3195228233
電子郵箱:yuhuiqh2009@163.com
致謝
趕在兒子1歲生日之際,趕在我告別30歲之際,我撰寫《Hadoop Spark生態(tài)系統(tǒng)操作與實戰(zhàn)指南》一書,作為我兒子的生日禮物。感謝父母提供了良好的生活環(huán)境,感謝舅舅、舅媽提供了良好的學(xué)習(xí)平臺,感謝我的老婆、姐姐、姐夫在生活上對我的支持和奉獻。最后,感謝清華工作和學(xué)習(xí)的那些時光,清華六年,我學(xué)會了生存技能、找到了研究方向、培養(yǎng)了生活習(xí)慣。
余 輝
2017年7月
余輝,中國科學(xué)院大學(xué)碩士研究生畢業(yè),研究方向為云計算和大數(shù)據(jù),F(xiàn)供職于某上市公司擔(dān)任技術(shù)經(jīng)理,并在 Oracle OAEC人才產(chǎn)業(yè)集團大數(shù)據(jù)學(xué)院擔(dān)任大數(shù)據(jù)講師。 曾在清華大學(xué)電子工程系NGNLab研究室擔(dān)任軟件工程師。
第1章 Hadoop概述 1
1.1
Hadoop簡介 1
1.2
Hadoop版本和生態(tài)系統(tǒng) 3
1.3
MapReduce簡介 7
1.4
HDFS簡介 8
1.5
Eclipse Java開發(fā)環(huán)境搭建 10
1.5.1
Java安裝 10
1.5.2
Maven安裝 11
1.5.3
Eclipse安裝和配置 12
1.5.4
Eclipse創(chuàng)建Maven項目 16
1.5.5
Eclipse其余配置 19
1.6 小結(jié) 21
第2章 Hadoop集群搭建 22
2.1 虛擬機簡介 22
2.2 虛擬機配置 24
2.3
Linux系統(tǒng)設(shè)置 31
2.4
Apache版本Hadoop集群搭建 36
2.5
CDH版本Hadoop集群搭建 44
2.5.1
安裝前期準(zhǔn)備 44
2.5.2
Cloudera Manager安裝 45
2.5.3
CDH安裝 46
2.6 小結(jié) 55
第3章 Hadoop基礎(chǔ)與原理 56
3.1
MapReduce原理介紹 56
3.1.1
MapReduce的框架介紹 56
3.1.2
MapReduce的執(zhí)行步驟 58
3.2
HDFS原理介紹 59
3.2.1
HDFS是什么 59
3.2.2
HDFS架構(gòu)介紹 59
3.3
HDFS實戰(zhàn) 62
3.3.1
HDFS客戶端的操作 62
3.3.2
Java操作HDFS 65
3.4
YARN原理介紹 69
3.5 小結(jié) 71
第4章 ZooKeeper實戰(zhàn) 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實戰(zhàn) 80
4.3.1
ZooKeeper客戶端的操作 80
4.3.2
Java操作ZooKeeper 81
4.3.3
Scala操作ZooKeeper 85
4.4 小結(jié) 87
第5章 MapReduce實戰(zhàn) 88
5.1 前期準(zhǔn)備 88
5.2 查看YARN上的任務(wù) 95
5.3 加載配置文件 95
5.4
MapReduce實戰(zhàn) 96
5.5 小結(jié) 121
第6章 HBase實戰(zhàn) 122
6.1
HBase簡介及架構(gòu) 122
6.2
HBase安裝 127
6.3
HBase實戰(zhàn) 129
6.3.1
HBase客戶端的操作 129
6.3.2
Java操作HBase 132
6.3.3
Scala操作HBase 136
6.4 小結(jié) 140
第7章 Hive實戰(zhàn) 141
7.1
Hive介紹和架構(gòu) 141
7.2
Hive數(shù)據(jù)類型和表結(jié)構(gòu) 143
7.3 Hive分區(qū)、桶與傾斜 144
7.4
Hive安裝 146
7.5
Hive實戰(zhàn) 148
7.5.1
Hive客戶端的操作 148
7.5.2
Hive常用命令 154
7.5.3
Java操作Hive 155
7.6 小結(jié) 161
第8章 Scala實戰(zhàn) 162
8.1
Scala簡介與安裝 162
8.2
IntelliJ IDEA開發(fā)環(huán)境搭建 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 基礎(chǔ)語法 176
8.5 函數(shù) 179
8.6 控制語句 181
8.7 函數(shù)式編程 184
8.8 模式匹配 189
8.9 類和對象 191
8.10
Scala 異常處理 194
8.11
Trait(特征) 195
8.12
Scala文件I/O 196
8.13
作業(yè) 198
8.13.1
九九乘法表 198
8.13.2
冒泡排序 199
8.13.3
設(shè)計模式Command 200
8.13.4
集合對稱判斷 202
8.13.5
綜合題 204
8.14
小結(jié) 206
第9章 Flume實戰(zhàn) 207
9.1
Flume概述 207
9.2
Flume的結(jié)構(gòu) 208
9.3
Flume安裝 211
9.4
Flume實戰(zhàn) 212
9.5 小結(jié) 214
第10章 Kafka實戰(zhàn) 215
10.1
Kafka概述 215
10.1.1
簡介 215
10.1.2
使用場景 217
10.2
Kafka設(shè)計原理 218
10.3
Kafka主要配置 222
10.4
Kafka客戶端操作 224
10.5
Java操作Kafka 226
10.5.1
生產(chǎn)者 226
10.5.2
消費者 228
10.6
Flume連接Kafka 229
10.7
小結(jié) 233
第11章 Spark實戰(zhàn) 234
11.1
Spark概述 234
11.2
Spark基本概念 234
11.3
Spark算子實戰(zhàn)及功能描述 238
11.3.1
Value型Transformation算子 238
11.3.2
Key-Value型Transformation算子 242
11.3.3
Actions算子 245
11.4
Spark Streaming實戰(zhàn) 248
11.5
Spark SQL和DataFrame實戰(zhàn) 253
11.6
小結(jié) 266
第12章 大數(shù)據(jù)網(wǎng)站日志分析項目
267
12.1
項目介紹 267
12.2
網(wǎng)站離線項目 267
12.2.1
業(yè)務(wù)框架圖 267
12.2.2
子服務(wù)趨勢分析詳解 268
12.2.3
表格的設(shè)計 272
12.2.4
提前準(zhǔn)備 274
12.2.5
項目步驟 287
12.3
網(wǎng)站實時項目 297
12.3.1
業(yè)務(wù)框架圖 297
12.3.2
子服務(wù)當(dāng)前在線詳解 297
12.3.3
表格的設(shè)計 302
12.3.4
提前準(zhǔn)備 304
12.3.5
項目步驟 327
12.4
小結(jié) 337