Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實(shí)踐(第2版)(微課版)
定 價(jià):56 元
- 作者:安俊秀 靳宇倡 郭英
- 出版時(shí)間:2020/9/1
- ISBN:9787115545688
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:256
- 紙張:
- 版次:02
- 開本:16開
全書共有12章,從Hadoop概述開始,介紹了Hadoop的安裝與配置管理,并對(duì)Hadoop的生態(tài)體系架構(gòu)進(jìn)行了介紹,包括HDFS技術(shù)、YARN技術(shù)、MapReduce技術(shù)、Hadoop I/O操作、海量數(shù)據(jù)庫技術(shù)HBase、ZooKeeper技術(shù)、分布式數(shù)據(jù)倉庫技術(shù)Hive、分布式數(shù)據(jù)分析工具Pig,以及數(shù)據(jù)遷移工具Sqoop,最后對(duì)大數(shù)據(jù)實(shí)時(shí)處理技術(shù)做了簡(jiǎn)單介紹,旨在讓讀者了解當(dāng)前其他的大數(shù)據(jù)處理技術(shù)。
本書除了介紹Hadoop的理論外,還介紹了如何使用各組件,但因?yàn)橹皇墙榻B基礎(chǔ)的使用,沒有涉及底層的高級(jí)內(nèi)容,所以本書只是起引導(dǎo)作用,旨在讓讀者了解Hadoop并能夠使用Hadoop的基本功能,并不是學(xué)習(xí)Hadoop的完全手冊(cè)。
本書適合作為高等院校、高等職業(yè)院校大數(shù)據(jù)、物聯(lián)網(wǎng)、云計(jì)算及其他計(jì)算機(jī)相關(guān)專業(yè)的教材,也可供云計(jì)算與大數(shù)據(jù)技術(shù)相關(guān)的培訓(xùn)班使用。
1.28個(gè)微課視頻,掃碼同步學(xué),重點(diǎn)難點(diǎn)輕松掌握
2.每章都附有習(xí)題,以及實(shí)踐性較強(qiáng)的實(shí)訓(xùn),鞏固所學(xué)知識(shí)
3.側(cè)重應(yīng)用能力的培養(yǎng),對(duì)學(xué)生起到引導(dǎo)作用
4.配備了PPT課件、源代碼、習(xí)題答案、微課等豐富的教學(xué)資源
安俊秀,教授,成都信息工程大學(xué)教師。2004年7月從西安交通大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè),獲工學(xué)碩士學(xué)位。中國計(jì)算機(jī)學(xué)會(huì)高級(jí)會(huì)員;中國電子學(xué)會(huì)高級(jí)會(huì)員;成都市科技攻關(guān)計(jì)劃評(píng)審專家;成都軍區(qū)項(xiàng)目評(píng)審專家;汕尾市科技顧問團(tuán)首席顧問。 在教學(xué)上,嚴(yán)格要求自己,勤奮鉆研、不斷提升教學(xué)水平,給更多學(xué)生以幫助和愛護(hù)。于1993年畢業(yè)進(jìn)入山西大學(xué)商務(wù)學(xué)院任教,2006年底調(diào)入成都信息工程大學(xué)任教。最近三年,先后承擔(dān)了《Linux體系和編程》、《軟件項(xiàng)目管理》、《工程導(dǎo)論》、《計(jì)算機(jī)組成原理》等本科課程;承擔(dān)了《云計(jì)算與大數(shù)據(jù)》、《并行計(jì)算》、《Hadoop處理技術(shù)》等研究生課程,學(xué)?己司鶠閮(yōu)。 在科研工作方面,一直從事云計(jì)算與大數(shù)據(jù)、信息智能搜索與計(jì)算社會(huì)方面的研究工作。近三年發(fā)表論文20余篇,其中第一作者10余篇,核心期刊以上占5篇。獨(dú)立完成專著1部,編著教材1部和參與編著教材1部,主編教材1部。獲得國家發(fā)明專利2項(xiàng)(2014授權(quán)),實(shí)用新型專利授權(quán)12項(xiàng)。獲得軟件著作權(quán)13項(xiàng)?蒲许(xiàng)目10項(xiàng)。2015年獲四川省社科高水平研究團(tuán)隊(duì)稱號(hào)。
第 1章
Hadoop概述 1
1.1 Hadoop簡(jiǎn)介 1
1.2 Hadoop體系架構(gòu) 3
1.3 Hadoop與分布式開發(fā) 4
1.4 Hadoop行業(yè)應(yīng)用案例分析 6
1.4.1 Hadoop在門戶網(wǎng)站的應(yīng)用 6
1.4.2 Hadoop在搜索引擎中的應(yīng)用 6
1.4.3 Hadoop在電商平臺(tái)中的應(yīng)用 7
習(xí)題 7
第 2章
Hadoop的安裝與配置管理 8
2.1 實(shí)驗(yàn)準(zhǔn)備 8
2.2 配置一個(gè)單節(jié)點(diǎn)環(huán)境 9
2.2.1 運(yùn)行一個(gè)虛擬環(huán)境CentOS 9
2.2.2 配置網(wǎng)絡(luò) 11
2.2.3 創(chuàng)建新的用戶組和用戶 14
2.2.4 上傳文件到CentOS并配置Java和
Hadoop環(huán)境 15
2.2.5 修改Hadoop 2.7配置文件 18
2.2.6 修改CentOS主機(jī)名 21
2.2.7 綁定hostname與IP 21
2.2.8 關(guān)閉防火墻 22
2.3 節(jié)點(diǎn)之間的免密碼通信 22
2.3.1 什么是SSH 22
2.3.2 復(fù)制虛擬機(jī)節(jié)點(diǎn) 23
2.3.3 配置SSH免密碼登錄 24
2.4 Hadoop的啟動(dòng)和測(cè)試 26
2.4.1 格式化文件系統(tǒng) 26
2.4.2 啟動(dòng)HDFS 27
2.4.3 啟動(dòng)YARN 28
2.4.4 啟動(dòng)JobHistory Server 28
2.4.5 集群驗(yàn)證 29
2.4.6 需要了解的默認(rèn)配置 30
2.5 動(dòng)態(tài)管理節(jié)點(diǎn) 31
2.5.1 動(dòng)態(tài)增加和刪除DataNode 31
2.5.2 動(dòng)態(tài)修改TaskTracker 32
習(xí)題 33
第3章
HDFS技術(shù) 35
3.1 HDFS的特點(diǎn) 35
3.2 HDFS架構(gòu) 36
3.2.1 數(shù)據(jù)塊 36
3.2.2 NameNode與DataNode 38
3.2.3 輔助NameNode 39
3.2.4 安全模式 41
3.2.5 負(fù)載均衡 41
3.2.6 垃圾回收 42
3.3 HDFS Shell命令 42
3.3.1 文件處理命令 43
3.3.2 dfsadmin命令 48
3.3.3 NameNode命令 49
3.3.4 fsck命令 50
3.3.5 pipes命令 50
3.3.6 job命令 51
3.4 HDFS中Java API的使用 52
3.4.1 上傳文件 52
3.4.2 新建文件 54
3.4.3 查看文件詳細(xì)信息 55
3.4.4 下載文件 56
3.5 RPC通信 57
3.5.1 反射機(jī)制 57
3.5.2 代理模式與動(dòng)態(tài)代理 60
3.5.3 Hadoop RPC機(jī)制與源碼分析 62
習(xí)題 66
第4章
YARN技術(shù) 67
4.1 YARN概述 67
4.1.1 YARN產(chǎn)生背景——MRv1的
局限性 67
4.1.2 YARN的通信協(xié)議 68
4.2 YARN基本框架 69
4.2.1 RM進(jìn)程 69
4.2.2 NM進(jìn)程 70
4.2.3 AM進(jìn)程 70
4.2.4 YARN的資源表示模型
Container 70
4.3 YARN資源調(diào)度器 71
4.3.1 FIFO調(diào)度器 71
4.3.2 Capacity調(diào)度器 71
4.3.3 Fair調(diào)度器 72
4.4 YARN的工作流程 72
4.5 YARN的實(shí)戰(zhàn)案例 74
習(xí)題 77
第5章
MapReduce技術(shù) 78
5.1 什么是MapReduce 78
5.2 MapReduce編程模型 79
5.2.1 MapReduce簡(jiǎn)介 79
5.2.2 MapReduce簡(jiǎn)單模型 79
5.2.3 MapReduce復(fù)雜模型 80
5.2.4 MapReduce編程實(shí)例——
WordCount 81
5.3 MapReduce數(shù)據(jù)流 82
5.3.1 分片并格式化原始數(shù)據(jù)
(InputFormat) 82
5.3.2 Map過程 84
5.3.3 Shuffle過程 84
5.3.4 Reduce過程 89
5.3.5 按指定格式寫入文件
(OutputFormat) 89
5.4 MapReduce任務(wù)流程 90
5.5 MapReduce的Streaming和
Pipe 91
5.5.1 Hadoop Streaming 91
5.5.2 Hadoop Pipe 92
5.6 MapReduce性能調(diào)優(yōu) 94
5.7 MapReduce實(shí)戰(zhàn) 96
5.7.1 快速入門 96
5.7.2 簡(jiǎn)單使用Eclipse插件 107
習(xí)題 115
第6章
Hadoop I/O操作 116
6.1 HDFS數(shù)據(jù)完整性 116
6.1.1 校驗(yàn)和 116
6.1.2 運(yùn)行后臺(tái)進(jìn)程來檢測(cè)數(shù)據(jù)塊 117
6.2 基于文件的數(shù)據(jù)結(jié)構(gòu) 118
6.2.1 SequenceFile的存儲(chǔ) 118
6.2.2 MapFile的存儲(chǔ) 122
6.2.3 SequenceFile轉(zhuǎn)換為MapFile 124
6.3 壓縮 125
6.3.1 認(rèn)識(shí)壓縮 126
6.3.2 Codec 126
6.3.3 本地庫 128
6.3.4 如何選擇壓縮格式 129
6.4 序列化 130
6.4.1 認(rèn)識(shí)序列化 130
6.4.2 Writable接口 131
6.4.3 WritableComparable接口 132
6.4.4 Hadoop Writable基本類型 133
6.4.5 自定義Writable類型 138
習(xí)題 139
第7章
海量數(shù)據(jù)庫技術(shù)HBase 140
7.1 初識(shí)HBase 140
7.2 HBase表視圖 141
7.2.1 概念視圖 141
7.2.2 物理視圖 142
7.3 HBase物理存儲(chǔ)模型 143
7.4 安裝HBase 149
7.4.1 HBase單節(jié)點(diǎn)安裝 149
7.4.2 HBase偽分布式安裝 151
7.4.3 HBase完全分布式安裝 152
7.5 HBase Shell 154
7.5.1 HBase Shell的命令 154
7.5.2 general操作 156
7.5.3 DDL操作 157
7.5.4 DML操作 159
習(xí)題 161
第8章
ZooKeeper技術(shù) 162
8.1 分布式協(xié)調(diào)技術(shù)及其實(shí)現(xiàn)者 162
8.1.1 分布式協(xié)調(diào)技術(shù) 162
8.1.2 實(shí)現(xiàn)者 163
8.2 ZooKeeper基本架構(gòu) 163
8.2.1 角色 163
8.2.2 選舉機(jī)制 164
8.3 ZooKeeper數(shù)據(jù)模型 164
8.3.1 Znode 164
8.3.2 ZooKeeper中的時(shí)間 165
8.3.3 ZooKeeper節(jié)點(diǎn)屬性 166
8.3.4 watch觸發(fā)器 166
8.4 ZooKeeper集群安裝 168
8.5 ZooKeeper的主要Shell
操作 169
8.6 典型運(yùn)用場(chǎng)景 171
8.6.1 數(shù)據(jù)發(fā)布與訂閱 171
8.6.2 統(tǒng)一命名服務(wù) 172
8.6.3 分布通知/協(xié)調(diào) 172
習(xí)題 173
第9章
分布式數(shù)據(jù)倉庫技術(shù)Hive 174
9.1 Hive出現(xiàn)的原因 174
9.2 Hive服務(wù)的組成 174
9.3 Hive的安裝 176
9.3.1 Hive基本安裝 176
9.3.2 MySQL的安裝 176
9.3.3 Hive的配置 177
9.4 Hive Shell 180
9.5 HQL 181
9.5.1 認(rèn)識(shí)HQL 181
9.5.2 Hive管理數(shù)據(jù)方式 182
9.5.3 Hive表的DDL操作 183
9.5.4 Hive表的DML操作 192
習(xí)題 196
第 10章
分布式數(shù)據(jù)分析工具Pig 197
10.1 Pig的安裝和配置 197
10.2 Pig的基本概念 198
10.3 Pig的保留關(guān)鍵字 199
10.4 使用Pig 201
10.4.1 Pig命令行選項(xiàng) 201
10.4.2 Pig的運(yùn)行模式 202
10.4.3 Pig相關(guān)Shell命令 202
10.4.4 Pig程序運(yùn)行方式 206
10.4.5 Pig的輸入與輸出 208
10.5 Pig模式(Schemas) 210
10.6 Pig相關(guān)函數(shù) 217
習(xí)題 221
第 11章
Hadoop與RDBMS數(shù)據(jù)遷移
工具Sqoop 222
11.1 Sqoop簡(jiǎn)介及基本安裝 222
11.2 Sqoop的配置 223
11.3 Sqoop的相關(guān)功能 224
11.3.1 Sqoop的工具命令 224
11.3.2 Sqoop與MySQL 225
11.3.3 sqoop-import操作 226
11.3.4 sqoop-import-all-tables
操作 231
11.3.5 sqoop-export操作 232
11.3.6 sqoop-list-databases和
sqoop-list-tables操作 234
11.4 Hive、Pig和Sqoop三者
之間的關(guān)系 235
習(xí)題 236
第 12章
大數(shù)據(jù)實(shí)時(shí)處理技術(shù) 237
12.1 Storm大數(shù)據(jù)實(shí)時(shí)處理技術(shù) 237
12.1.1 Apache Storm的組成結(jié)構(gòu) 237
12.1.2 數(shù)據(jù)流與分組 238
12.1.3 Storm-Yarn產(chǎn)生的背景 240
12.1.4 Storm-Yarn的功能 240
12.2 Spark大數(shù)據(jù)實(shí)時(shí)處理技術(shù) 241
12.2.1 Apache Spark架構(gòu) 241
12.2.2 Apache Spark的擴(kuò)展功能 243
12.3 Storm與Spark的異同 245
習(xí)題 246
附錄A
使用Eclipse提交Hadoop
任務(wù)時(shí)相關(guān)錯(cuò)誤的修復(fù) 247
附錄B
常用Pig內(nèi)置函數(shù) 249