Hadoop大數(shù)據(jù)處理技術(shù)基礎(chǔ)與實踐(第2版)(微課版)
定 價:56 元
- 作者:安俊秀 靳宇倡 郭英
- 出版時間:2020/9/1
- ISBN:9787115545688
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:256
- 紙張:
- 版次:02
- 開本:16開
全書共有12章,從Hadoop概述開始,介紹了Hadoop的安裝與配置管理,并對Hadoop的生態(tài)體系架構(gòu)進行了介紹,包括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,最后對大數(shù)據(jù)實時處理技術(shù)做了簡單介紹,旨在讓讀者了解當(dāng)前其他的大數(shù)據(jù)處理技術(shù)。
本書除了介紹Hadoop的理論外,還介紹了如何使用各組件,但因為只是介紹基礎(chǔ)的使用,沒有涉及底層的高級內(nèi)容,所以本書只是起引導(dǎo)作用,旨在讓讀者了解Hadoop并能夠使用Hadoop的基本功能,并不是學(xué)習(xí)Hadoop的完全手冊。
本書適合作為高等院校、高等職業(yè)院校大數(shù)據(jù)、物聯(lián)網(wǎng)、云計算及其他計算機相關(guān)專業(yè)的教材,也可供云計算與大數(shù)據(jù)技術(shù)相關(guān)的培訓(xùn)班使用。
1.28個微課視頻,掃碼同步學(xué),重點難點輕松掌握
2.每章都附有習(xí)題,以及實踐性較強的實訓(xùn),鞏固所學(xué)知識
3.側(cè)重應(yīng)用能力的培養(yǎng),對學(xué)生起到引導(dǎo)作用
4.配備了PPT課件、源代碼、習(xí)題答案、微課等豐富的教學(xué)資源
安俊秀,教授,成都信息工程大學(xué)教師。2004年7月從西安交通大學(xué)計算機科學(xué)與技術(shù)專業(yè)畢業(yè),獲工學(xué)碩士學(xué)位。中國計算機學(xué)會高級會員;中國電子學(xué)會高級會員;成都市科技攻關(guān)計劃評審專家;成都軍區(qū)項目評審專家;汕尾市科技顧問團首席顧問。 在教學(xué)上,嚴(yán)格要求自己,勤奮鉆研、不斷提升教學(xué)水平,給更多學(xué)生以幫助和愛護。于1993年畢業(yè)進入山西大學(xué)商務(wù)學(xué)院任教,2006年底調(diào)入成都信息工程大學(xué)任教。最近三年,先后承擔(dān)了《Linux體系和編程》、《軟件項目管理》、《工程導(dǎo)論》、《計算機組成原理》等本科課程;承擔(dān)了《云計算與大數(shù)據(jù)》、《并行計算》、《Hadoop處理技術(shù)》等研究生課程,學(xué)校考核均為優(yōu)。 在科研工作方面,一直從事云計算與大數(shù)據(jù)、信息智能搜索與計算社會方面的研究工作。近三年發(fā)表論文20余篇,其中第一作者10余篇,核心期刊以上占5篇。獨立完成專著1部,編著教材1部和參與編著教材1部,主編教材1部。獲得國家發(fā)明專利2項(2014授權(quán)),實用新型專利授權(quán)12項。獲得軟件著作權(quán)13項?蒲许椖10項。2015年獲四川省社科高水平研究團隊稱號。
第 1章
Hadoop概述 1
1.1 Hadoop簡介 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在電商平臺中的應(yīng)用 7
習(xí)題 7
第 2章
Hadoop的安裝與配置管理 8
2.1 實驗準(zhǔn)備 8
2.2 配置一個單節(jié)點環(huán)境 9
2.2.1 運行一個虛擬環(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主機名 21
2.2.7 綁定hostname與IP 21
2.2.8 關(guān)閉防火墻 22
2.3 節(jié)點之間的免密碼通信 22
2.3.1 什么是SSH 22
2.3.2 復(fù)制虛擬機節(jié)點 23
2.3.3 配置SSH免密碼登錄 24
2.4 Hadoop的啟動和測試 26
2.4.1 格式化文件系統(tǒng) 26
2.4.2 啟動HDFS 27
2.4.3 啟動YARN 28
2.4.4 啟動JobHistory Server 28
2.4.5 集群驗證 29
2.4.6 需要了解的默認配置 30
2.5 動態(tài)管理節(jié)點 31
2.5.1 動態(tài)增加和刪除DataNode 31
2.5.2 動態(tài)修改TaskTracker 32
習(xí)題 33
第3章
HDFS技術(shù) 35
3.1 HDFS的特點 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 負載均衡 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 查看文件詳細信息 55
3.4.4 下載文件 56
3.5 RPC通信 57
3.5.1 反射機制 57
3.5.2 代理模式與動態(tài)代理 60
3.5.3 Hadoop RPC機制與源碼分析 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進程 69
4.2.2 NM進程 70
4.2.3 AM進程 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的實戰(zhàn)案例 74
習(xí)題 77
第5章
MapReduce技術(shù) 78
5.1 什么是MapReduce 78
5.2 MapReduce編程模型 79
5.2.1 MapReduce簡介 79
5.2.2 MapReduce簡單模型 79
5.2.3 MapReduce復(fù)雜模型 80
5.2.4 MapReduce編程實例——
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實戰(zhàn) 96
5.7.1 快速入門 96
5.7.2 簡單使用Eclipse插件 107
習(xí)題 115
第6章
Hadoop I/O操作 116
6.1 HDFS數(shù)據(jù)完整性 116
6.1.1 校驗和 116
6.1.2 運行后臺進程來檢測數(shù)據(jù)塊 117
6.2 基于文件的數(shù)據(jù)結(jié)構(gòu) 118
6.2.1 SequenceFile的存儲 118
6.2.2 MapFile的存儲 122
6.2.3 SequenceFile轉(zhuǎn)換為MapFile 124
6.3 壓縮 125
6.3.1 認識壓縮 126
6.3.2 Codec 126
6.3.3 本地庫 128
6.3.4 如何選擇壓縮格式 129
6.4 序列化 130
6.4.1 認識序列化 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 初識HBase 140
7.2 HBase表視圖 141
7.2.1 概念視圖 141
7.2.2 物理視圖 142
7.3 HBase物理存儲模型 143
7.4 安裝HBase 149
7.4.1 HBase單節(jié)點安裝 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ù)及其實現(xiàn)者 162
8.1.1 分布式協(xié)調(diào)技術(shù) 162
8.1.2 實現(xiàn)者 163
8.2 ZooKeeper基本架構(gòu) 163
8.2.1 角色 163
8.2.2 選舉機制 164
8.3 ZooKeeper數(shù)據(jù)模型 164
8.3.1 Znode 164
8.3.2 ZooKeeper中的時間 165
8.3.3 ZooKeeper節(jié)點屬性 166
8.3.4 watch觸發(fā)器 166
8.4 ZooKeeper集群安裝 168
8.5 ZooKeeper的主要Shell
操作 169
8.6 典型運用場景 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 認識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命令行選項 201
10.4.2 Pig的運行模式 202
10.4.3 Pig相關(guān)Shell命令 202
10.4.4 Pig程序運行方式 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簡介及基本安裝 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ù) 237
12.1 Storm大數(shù)據(jù)實時處理技術(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ù) 241
12.2.1 Apache Spark架構(gòu) 241
12.2.2 Apache Spark的擴展功能 243
12.3 Storm與Spark的異同 245
習(xí)題 246
附錄A
使用Eclipse提交Hadoop
任務(wù)時相關(guān)錯誤的修復(fù) 247
附錄B
常用Pig內(nèi)置函數(shù) 249