Hadoop大數(shù)據(jù)技術(shù)與應(yīng)用
定 價:55 元
- 作者:楊治明 許桂秋
- 出版時間:2019/3/1
- ISBN:9787115503534
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:287
- 紙張:
- 版次:01
- 開本:16開
本書采用理論與實踐相結(jié)合的方式,全面介紹了Hadoop大數(shù)據(jù)技術(shù)。主要內(nèi)容包括初識Hadoop大數(shù)據(jù)技術(shù)、Hadoop環(huán)境配置,分布式文件系統(tǒng)HDFS、資源調(diào)度框架YARN、分布式計算框架MapReduce、大數(shù)據(jù)數(shù)據(jù)倉庫Hive、分布式數(shù)據(jù)庫HBase、查詢大型半結(jié)構(gòu)化數(shù)據(jù)集的語言Pig、分布式日志采集工具Flume、分布式數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)相互轉(zhuǎn)換工具Sqoop。
1.采用理論和實踐相結(jié)合方式全面介紹Hadoop技術(shù)
2.內(nèi)容包括Hadoop環(huán)境配置,分布式文件系統(tǒng)HDFS、資源調(diào)度框架YARN、分布式計算框架MapReduce、大數(shù)據(jù)數(shù)據(jù)倉庫Hive、分布式數(shù)據(jù)庫HBase、查詢大型半結(jié)構(gòu)化數(shù)據(jù)集的語言Pig、分布式日志采集工具Flume、分布式數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)相互轉(zhuǎn)換工具Sqoop、提供分布式協(xié)調(diào)一致性服務(wù)的ZooKeeper、Hadoop快速部署工具Ambari、提供可擴展的機器學(xué)習(xí)領(lǐng)域經(jīng)典算法的Mahout
楊治明,教授,現(xiàn)任重慶科技學(xué)院數(shù)理與大數(shù)據(jù)學(xué)院院長,數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)負責人,F(xiàn)任重慶市教委教育信息化專家委員會成員、重慶市人工智能技術(shù)創(chuàng)新戰(zhàn)略聯(lián)盟專家委員會成員。獲得國家級教學(xué)成果獎1項、重慶市高等教育教學(xué)成果獎二等獎、三等獎各1項。
第1章 初識Hadoop大數(shù)據(jù)技術(shù) 1
1.1 大數(shù)據(jù)技術(shù)概述 1
1.1.1 大數(shù)據(jù)產(chǎn)生的背景 1
1.1.2 大數(shù)據(jù)的定義 2
1.1.3 大數(shù)據(jù)技術(shù)的發(fā)展 2
1.2 Google的“三駕馬車” 3
1.2.1 GFS的思想 3
1.2.2 MapReduce的思想 4
1.2.3 BigTable的思想 6
1.3 Hadoop概述 8
1.3.1 Hadoop對Google公司三篇論文思想的實現(xiàn) 8
1.3.2 Hadoop的發(fā)展歷史 9
1.3.3 Hadoop版本的演變 11
1.3.4 Hadoop的發(fā)行版本 12
1.3.5 Hadoop的特點 12
1.4 Hadoop生態(tài)圈 12
1.5 Hadoop的典型應(yīng)用場景與應(yīng)用架構(gòu) 13
1.5.1 Hadoop的典型應(yīng)用場景 13
1.5.2 Hadoop的典型應(yīng)用架構(gòu) 14
習(xí)題 15
第2章 Hadoop環(huán)境設(shè)置 16
2.1 安裝前準備 16
2.1.1 安裝虛擬機 17
2.1.2 安裝Ubuntu操作系統(tǒng) 20
2.1.3 關(guān)閉防火墻 22
2.1.4 SSH安裝 22
2.1.5 安裝Xshell及Xftp 22
2.1.6 安裝JDK 24
2.1.7 下載Hadoop并解壓 25
2.1.8 克隆主機 27
2.2 Hadoop的安裝 28
2.2.1 安裝單機模式 28
2.2.2 安裝偽分布式模式 29
2.2.3 安裝完全分布式模式 35
習(xí)題 41
實驗 搭建Hadoop偽分布式模式環(huán)境 42
第3章 HDFS 44
3.1 HDFS簡介 44
3.2 HDFS的組成與架構(gòu) 45
3.2.1 NameNode 45
3.2.2 DataNode 46
3.2.3 SecondaryNameNode 46
3.3 HDFS的工作機制 47
3.3.1 機架感知與副本冗余存儲策略 47
3.3.2 文件讀取 49
3.3.3 文件寫入 50
3.3.4 數(shù)據(jù)容錯 52
3.4 HDFS操作 53
3.4.1 通過Web界面進行HDFS操作 53
3.4.2 通過HDFS Shell進行HDFS操作 54
3.4.3 通過HDFS API進行HDFS操作 60
3.5 HDFS的高級功能 68
3.5.1 安全模式 68
3.5.2 回收站 69
3.5.3 快照 70
3.5.4 配額 71
3.5.5 高可用性 71
3.5.6 聯(lián)邦 72
習(xí)題 74
實驗1 通過Shell命令訪問HDFS 74
實驗2 熟悉基于IDEA+Maven的Java開發(fā)環(huán)境 77
實驗3 通過API訪問HDFS 86
第4章 YARN 90
4.1 YARN產(chǎn)生的背景 90
4.2 初識YARN 92
4.3 YARN的架構(gòu) 93
4.3.1 YARN架構(gòu)概述 93
4.3.2 YARN中應(yīng)用運行的機制 94
4.3.3 YARN中任務(wù)進度的監(jiān)控 94
4.3.4 MapReduce 1與YARN的組成對比 95
4.4 YARN的調(diào)度器 95
4.4.1 先進先出調(diào)度器 95
4.4.2 容器調(diào)度器 96
4.4.3 公平調(diào)度器 97
4.4.4 三種調(diào)度器的比較 98
習(xí)題 98
第5章 MapReduce 99
5.1 MapReduce概述 99
5.1.1 MapReduce是什么 99
5.1.2 MapReduce的特點 99
5.1.3 MapReduce不擅長的場景 100
5.2 MapReduce編程模型 100
5.2.1 MapReduce編程模型概述 100
5.2.2 MapReduce編程實例 101
5.3 MapReduce編程進階 112
5.3.1 MapReduce的輸入格式 112
5.3.2 MapReduce的輸出格式 114
5.3.3 分區(qū) 115
5.3.4 合并 118
5.4 MapReduce的工作機制 119
5.4.1 MapReduce作業(yè)的運行機制 119
5.4.2 進度和狀態(tài)的更新 120
5.4.3 Shuffle 121
5.5 MapReduce編程案例 122
5.5.1 排序 122
5.5.2 去重 126
5.5.3 多表查詢 127
習(xí)題 129
實驗1 分析和編寫WordCount程序 130
實驗2 MapReduce序列化、分區(qū)實驗 131
實驗3 使用MapReduce求出各年銷售筆數(shù)、各年銷售總額 134
實驗4 使用MapReduce統(tǒng)計用戶在搜狗上的搜索數(shù)據(jù) 136
第6章 HBase、Hive、Pig 139
6.1 HBase 139
6.1.1 行式存儲與列式存儲 139
6.1.2 HBase簡介 140
6.1.3 HBase的數(shù)據(jù)模型 141
6.1.4 HBase的物理模型 143
6.1.5 HBase的系統(tǒng)架構(gòu) 144
6.1.6 HBase的安裝 147
6.1.7 訪問HBase 152
6.2 Hive 157
6.2.1 安裝Hive 157
6.2.2 Hive的架構(gòu)與工作原理 160
6.2.3 Hive的數(shù)據(jù)類型與存儲格式 163
6.2.4 Hive的數(shù)據(jù)模型 167
6.2.5 查詢數(shù)據(jù) 169
6.2.6 用戶定義函數(shù) 170
6.3 Pig 171
6.3.1 Pig概述 171
6.3.2 安裝Pig 172
6.3.3 Pig Latin編程語言 172
6.3.4 Pig代碼實例 177
6.3.5 用戶自定義函數(shù) 179
習(xí)題 181
實驗1 HBase實驗——安裝和配置(可選) 181
實驗2 HBase實驗——通過HBase Shell訪問HBase(可選) 185
實驗3 HBase實驗——通過Java API訪問HBase 187
實驗4 HBase實驗——通過Java API開發(fā)基于HBase的MapReduce程序 189
實驗5 Hive實驗——Metastore采用Local模式(MySQL數(shù)據(jù)庫)搭建Hive環(huán)境(可選) 191
實驗6 Hive實驗——Hive常用操作 193
實驗7 Pig實驗——安裝和使用Pig(可選) 194
實驗8 Pig實驗——使用Pig Latin操作員工表和部門表 195
第7章 Flume 198
7.1 Flume產(chǎn)生的背景 198
7.2 Flume簡介 198
7.3 Flume的安裝 199
7.4 Flume的架構(gòu) 200
7.5 Flume的應(yīng)用 201
7.5.1 Flume的組件類型及其配置項 201
7.5.2 Flume的配置和運行方法 206
7.5.3 Flume配置示例 207
7.6 Flume的工作方式 209
習(xí)題 210
實驗1 Flume的配置與使用1——Avro Source + Memory Channel + Logger Sink 211
實驗2 Flume的配置與使用2——Syslogtcp Source + Memory Channel + HDFS Sink 212
實驗3 Flume的配置與使用3——Exec Source + Memory Channel + Logger Sink 213
第8章 Sqoop 214
8.1 Sqoop背景簡介 214
8.2 Sqoop的基本原理 215
8.3 Sqoop的安裝與部署 216
8.3.1 下載與安裝 216
8.3.2 配置Sqoop 217
8.4 Sqoop應(yīng)用 219
8.4.1 列出MySQL數(shù)據(jù)庫的基本信息 219
8.4.2 MySQL和HDFS數(shù)據(jù)互導(dǎo) 219
8.4.3 MySQL和Hive數(shù)據(jù)互導(dǎo) 220
習(xí)題 221
實驗 Sqoop常用功能的使用 222
第9章 ZooKeeper 227
9.1 ZooKeeper簡介 227
9.2 ZooKeeper的安裝 228
9.2.1 單機模式 228
9.2.2 集群模式 229
9.3 ZooKeeper的基本原理 231
9.3.1 Paxos算法 231
9.3.2 Zab算法 232
9.3.3 ZooKeeper的架構(gòu) 232
9.3.4 ZooKeeper的數(shù)據(jù)模型 233
9.4 ZooKeeper的簡單操作 235
9.4.1 通過ZooKeeper Shell命令操作ZooKeeper 235
9.4.2 通過ZooInspector工具操作ZooKeeper 238
9.4.3 通過Java API操作ZooKeeper 238
9.5 ZooKeeper的特性 239
9.5.1 會話 239
9.5.2 臨時節(jié)點 240
9.5.3 順序節(jié)點 240
9.5.4 事務(wù)操作 241
9.5.5 版本號 241
9.5.6 監(jiān)視 242
9.6 ZooKeeper的應(yīng)用場景 243
9.6.1 Master選舉 244
9.6.2 分布式鎖 245
習(xí)題 246
實驗 ZooKeeper的3種訪問方式 246
第10章 Ambari 249
10.1 Ambari簡介 249
10.1.1 背景 249
10.1.2 Ambari的主要功能 250
10.2 Ambari的安裝 250
10.2.1 安裝前準備 250
10.2.2 安裝Ambari 254
10.3 利用Ambari管理Hadoop集群 257
10.3.1 安裝與配置HDP集群 258
10.3.2 節(jié)點的擴展 264
10.3.3 啟用HA 267
10.4 Ambari的架構(gòu)和工作原理 271
10.4.1 Ambari的總體架構(gòu) 271
10.4.2 Ambari Agent 272
10.4.3 Ambari Server 272
習(xí)題 273
第11章 Mahout 274
11.1 Mahout簡介 274
11.1.1 什么是Mahout 274
11.1.2 Mahout能做什么 275
11.2 Taste簡介 276
11.2.1 DataModel 276
11.2.2 Similarity 277
11.2.3 UserNeighborhood 277
11.2.4 Recommender 277
11.2.5 RecommenderEvaluator 277
11.2.6 RecommenderIRStatsEvaluator 278
11.3 使用Taste構(gòu)建推薦系統(tǒng) 278
11.3.1 創(chuàng)建Maven項目 278
11.3.2 導(dǎo)入Mahout依賴 278
11.3.3 獲取電影評分數(shù)據(jù) 278
11.3.4 編寫基于用戶的推薦 279
11.3.5 編寫基于物品的推薦 280
11.3.6 評價推薦模型 281
11.3.7 獲取推薦的查準率和查全率 281
習(xí)題 282
實驗 基于Mahout的電影推薦系統(tǒng) 283
綜合實驗 搜狗日志查詢分析(MapReduce+Hive綜合實驗) 284
參考文獻 287