Hadoop大數(shù)據(jù)處理技術基礎與實踐(第2版)(微課版)
定 價:56 元
- 作者:安俊秀 靳宇倡 郭英
- 出版時間:2020/9/1
- ISBN:9787115545688
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:256
- 紙張:
- 版次:02
- 開本:16開
全書共有12章,從Hadoop概述開始,介紹了Hadoop的安裝與配置管理,并對Hadoop的生態(tài)體系架構(gòu)進行了介紹,包括HDFS技術、YARN技術、MapReduce技術、Hadoop I/O操作、海量數(shù)據(jù)庫技術HBase、ZooKeeper技術、分布式數(shù)據(jù)倉庫技術Hive、分布式數(shù)據(jù)分析工具Pig,以及數(shù)據(jù)遷移工具Sqoop,最后對大數(shù)據(jù)實時處理技術做了簡單介紹,旨在讓讀者了解當前其他的大數(shù)據(jù)處理技術。
本書除了介紹Hadoop的理論外,還介紹了如何使用各組件,但因為只是介紹基礎的使用,沒有涉及底層的高級內(nèi)容,所以本書只是起引導作用,旨在讓讀者了解Hadoop并能夠使用Hadoop的基本功能,并不是學習Hadoop的完全手冊。
本書適合作為高等院校、高等職業(yè)院校大數(shù)據(jù)、物聯(lián)網(wǎng)、云計算及其他計算機相關專業(yè)的教材,也可供云計算與大數(shù)據(jù)技術相關的培訓班使用。
1.28個微課視頻,掃碼同步學,重點難點輕松掌握
2.每章都附有習題,以及實踐性較強的實訓,鞏固所學知識
3.側(cè)重應用能力的培養(yǎng),對學生起到引導作用
4.配備了PPT課件、源代碼、習題答案、微課等豐富的教學資源
安俊秀,教授,成都信息工程大學教師。2004年7月從西安交通大學計算機科學與技術專業(yè)畢業(yè),獲工學碩士學位。中國計算機學會高級會員;中國電子學會高級會員;成都市科技攻關計劃評審專家;成都軍區(qū)項目評審專家;汕尾市科技顧問團首席顧問。 在教學上,嚴格要求自己,勤奮鉆研、不斷提升教學水平,給更多學生以幫助和愛護。于1993年畢業(yè)進入山西大學商務學院任教,2006年底調(diào)入成都信息工程大學任教。最近三年,先后承擔了《Linux體系和編程》、《軟件項目管理》、《工程導論》、《計算機組成原理》等本科課程;承擔了《云計算與大數(shù)據(jù)》、《并行計算》、《Hadoop處理技術》等研究生課程,學?己司鶠閮(yōu)。 在科研工作方面,一直從事云計算與大數(shù)據(jù)、信息智能搜索與計算社會方面的研究工作。近三年發(fā)表論文20余篇,其中第一作者10余篇,核心期刊以上占5篇。獨立完成專著1部,編著教材1部和參與編著教材1部,主編教材1部。獲得國家發(fā)明專利2項(2014授權),實用新型專利授權12項。獲得軟件著作權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è)應用案例分析 6
1.4.1 Hadoop在門戶網(wǎng)站的應用 6
1.4.2 Hadoop在搜索引擎中的應用 6
1.4.3 Hadoop在電商平臺中的應用 7
習題 7
第 2章
Hadoop的安裝與配置管理 8
2.1 實驗準備 8
2.2 配置一個單節(jié)點環(huán)境 9
2.2.1 運行一個虛擬環(huán)境CentOS 9
2.2.2 配置網(wǎng)絡 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 關閉防火墻 22
2.3 節(jié)點之間的免密碼通信 22
2.3.1 什么是SSH 22
2.3.2 復制虛擬機節(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
習題 33
第3章
HDFS技術 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
習題 66
第4章
YARN技術 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
習題 77
第5章
MapReduce技術 78
5.1 什么是MapReduce 78
5.2 MapReduce編程模型 79
5.2.1 MapReduce簡介 79
5.2.2 MapReduce簡單模型 79
5.2.3 MapReduce復雜模型 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任務流程 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
習題 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
習題 139
第7章
海量數(shù)據(jù)庫技術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
習題 161
第8章
ZooKeeper技術 162
8.1 分布式協(xié)調(diào)技術及其實現(xiàn)者 162
8.1.1 分布式協(xié)調(diào)技術 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)一命名服務 172
8.6.3 分布通知/協(xié)調(diào) 172
習題 173
第9章
分布式數(shù)據(jù)倉庫技術Hive 174
9.1 Hive出現(xiàn)的原因 174
9.2 Hive服務的組成 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
習題 196
第 10章
分布式數(shù)據(jù)分析工具Pig 197
10.1 Pig的安裝和配置 197
10.2 Pig的基本概念 198
10.3 Pig的保留關鍵字 199
10.4 使用Pig 201
10.4.1 Pig命令行選項 201
10.4.2 Pig的運行模式 202
10.4.3 Pig相關Shell命令 202
10.4.4 Pig程序運行方式 206
10.4.5 Pig的輸入與輸出 208
10.5 Pig模式(Schemas) 210
10.6 Pig相關函數(shù) 217
習題 221
第 11章
Hadoop與RDBMS數(shù)據(jù)遷移
工具Sqoop 222
11.1 Sqoop簡介及基本安裝 222
11.2 Sqoop的配置 223
11.3 Sqoop的相關功能 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三者
之間的關系 235
習題 236
第 12章
大數(shù)據(jù)實時處理技術 237
12.1 Storm大數(shù)據(jù)實時處理技術 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ù)實時處理技術 241
12.2.1 Apache Spark架構(gòu) 241
12.2.2 Apache Spark的擴展功能 243
12.3 Storm與Spark的異同 245
習題 246
附錄A
使用Eclipse提交Hadoop
任務時相關錯誤的修復 247
附錄B
常用Pig內(nèi)置函數(shù) 249