Hadoop大數據技術與應用
楊治明 許桂秋
- 出版商: 人民郵電
- 出版日期: 2019-03-01
- 定價: $330
- 售價: 8.5 折 $281
- 語言: 簡體中文
- 頁數: 287
- 裝訂: 平裝
- ISBN: 7115503532
- ISBN-13: 9787115503534
-
相關分類:
Hadoop、大數據 Big-data
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書採用理論與實踐相結合的方式,全面介紹了Hadoop大數據技術。主要內容包括初識Hadoop大數據技術、Hadoop環境配置,分佈式文件系統HDFS、資源調度框架YARN、分佈式計算框架MapReduce、大數據數據倉庫Hive、分佈式數據庫HBase、查詢大型半結構化數據集的語言Pig、分佈式日誌採集工具Flume、分佈式數據庫與傳統數據庫數據相互轉換工具Sqoop。
作者簡介
楊治明,教授,現任重慶科技學院數理與大數據學院院長,數據科學與大數據技術專業負責人。現任重慶市教委教育信息化專家委員會成員、重慶市人工智能技術創新戰略聯盟專家委員會成員。獲得國家級教學成果獎1項、重慶市高等教育教學成果獎二等獎、三等獎各1項。
目錄大綱
第1章初識Hadoop大數據技術1
1.1大數據技術概述1
1.1.1大數據產生的背景1
1.1.2大數據的定義2
1.1.3大數據技術的發展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公司三篇論文思想的實現8
1.3.2 Hadoop的發展歷史9
1.3. 3 Hadoop版本的演變11
1.3.4 Hadoop的發行版本12
1.3.5 Hadoop的特點12
1.4 Hadoop生態圈12
1.5 Hadoop的典型應用場景與應用架構13
1.5.1 Hadoop的典型應用場景13
1.5.2 Hadoop的典型應用架構14
習題15
第2章Hadoop環境設置16
2.1安裝前準備16
2.1.1安裝虛擬機17
2.1.2安裝Ubuntu操作系統20
2.1.3關閉防火牆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
習題41
實驗搭建Hadoop偽分佈式模式環境42
第3章HDFS 44
3.1 HDFS簡介44
3.2 HDFS的組成與架構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數據容錯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聯邦72
習題74
實驗1通過Shell命令訪問HDFS 74
實驗2熟悉基於IDEA+Maven的Java開發環境77
實驗3通過API訪問HDFS 86
第4章YARN 90
4.1 YARN產生的背景90
4.2初識YARN 92
4.3 YARN的架構93
4.3.1 YARN架構概述93
4.3.2 YARN中應用運行的機制94
4.3.3 YARN中任務進度的監控94
4.3. 4 MapReduce 1與YARN的組成對比95
4.4 YARN的調度器95
4.4.1先進先出調度器95
4.4.2容器調度器96
4.4.3公平調度器97
4.4.4三種調度器的比較98
習題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分區115
5.3.4合併118
5.4 MapReduce的工作機制119
5.4.1 MapReduce作業的運行機制119
5.4.2進度和狀態的更新120
5.4.3 Shuffle 121
5.5 MapReduce編程案例122
5.5.1排序122
5.5.2去重126
5.5.3多表查詢127
習題129
實驗1分析和編寫WordCount程序130
實驗2 MapReduce序列化、分區實驗131
實驗3使用MapReduce求出各年銷售筆數、各年銷售總額134
實驗4使用MapReduce統計用戶在搜狗上的搜索數據136
第6章HBase、Hive、Pig 139
6.1 HBase 139
6.1.1行式存儲與列式存儲139
6.1.2 HBase簡介140
6.1.3 HBase的數據模型141
6.1.4 HBase的物理模型143
6.1.5 HBase的系統架構144
6.1.6 HBase的安裝147
6.1.7訪問HBase 152
6.2 Hive 157
6.2.1安裝Hive 157
6.2.2 Hive的架構與工作原理160
6.2.3 Hive的數據類型與存儲格式163
6.2.4 Hive的數據模型167
6.2.5查詢數據169
6.2.6用戶定義函數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用戶自定義函數179
習題181
實驗1 HBase實驗——安裝和配置(可選) 181
實驗2 HBase實驗——通過HBase Shell訪問HBase(可選) 185
實驗3 HBase實驗——通過Java API訪問HBase 187
實驗4 HBase實驗——通過Java API開發基於HBase的MapReduce程序189
實驗5 Hive實驗——Metastore採用Local模式(MySQL數據庫)搭建Hive環境(可選) 191
實驗6 Hive實驗——Hive常用操作193
實驗7 Pig實驗——安裝和使用Pig(可選) 194
實驗8 Pig實驗——使用Pig Latin操作員工表和部門表195
第7章Flume 198
7.1 Flume產生的背景198
7.2 Flume簡介198
7.3 Flume的安裝199
7.4 Flume的架構200
7.5 Flume的應用201
7.5.1 Flume的組件類型及其配置項201
7.5.2 Flume的配置和運行方法206
7.5.3 Flume配置示例207
7.6 Flume的工作方式209
習題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應用219
8.4.1列出MySQL數據庫的基本信息219
8.4.2 MySQL和HDFS數據互導219
8.4.3 MySQL和Hive數據互導220
習題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的架構232
9.3.4 ZooKeeper的數據模型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臨時節點240
9.5.3順序節點240
9.5.4事務操作241
9.5.5版本號241
9.5.6監視242
9.6 ZooKeeper的應用場景243
9.6.1 Master選舉244
9.6.2分佈式鎖245
習題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節點的擴展264
10.3.3啟用HA 267
10.4 Ambari的架構和工作原理271
10.4.1 Ambari的總體架構271
10.4.2 Ambari Agent 272
10.4.3 Ambari Server 272
習題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構建推薦系統278
11.3.1創建Maven項目278
11.3.2導入Mahout依賴278
11.3.3獲取電影評分數據278
11.3 .4編寫基於用戶的推薦279
11.3.5編寫基於物品的推薦280
11.3.6評價推薦模型281
11.3.7獲取推薦的查准率和查全率281
習題282
實驗基於Mahout的電影推薦系統283
綜合實驗搜狗日誌查詢分析(MapReduce+Hive綜合實驗) 284
參考文獻287