大數(shù)據(jù)理論與應(yīng)用基礎(chǔ)
定 價:79 元
- 作者:吳慧欣
- 出版時間:2023/9/1
- ISBN:9787121463488
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:400
- 紙張:
- 版次:01
- 開本:16開
本書從初學(xué)者的角度詳細(xì)介紹大數(shù)據(jù)的核心技術(shù)。全書共11章,包括緒論、Linux的基礎(chǔ)操作、Hadoop大數(shù)據(jù)處理架構(gòu)、HDFS分布式文件系統(tǒng)、MapReduce分布式計算框架、ZooKeeper分布式協(xié)調(diào)服務(wù)、YARN資源管理器、HBase分布式數(shù)據(jù)庫、Hive數(shù)據(jù)倉儲、PySpark數(shù)據(jù)處理與分析及綜合案例。此外,本書還提供了相應(yīng)的示例代碼,以幫助讀者進(jìn)一步理解相關(guān)方案的實現(xiàn)過程。
吳慧欣,男,博士、教授,主要從事系統(tǒng)建模與仿真、機(jī)器學(xué)習(xí)、虛擬現(xiàn)實技術(shù)研究,擔(dān)任河南省大數(shù)據(jù)專家委員會委員,河南省研究生教育指導(dǎo)委員會委員,河南省一流本科專業(yè)軟件工程負(fù)責(zé)人,主持完成省部級以上科研、教改項目9項,獲省部級科技獎勵2項,國家發(fā)明專利7項,發(fā)表學(xué)術(shù)論文32篇,SCI/EI收錄15篇。
目 錄
第1章 緒論 1
1.1 大數(shù)據(jù)的形成和發(fā)展 1
1.2 大數(shù)據(jù)的基本概念 3
1.2.1 什么是大數(shù)據(jù) 3
1.2.2 大數(shù)據(jù)的特征 3
1.3 大數(shù)據(jù)關(guān)鍵技術(shù) 5
1.3.1 大數(shù)據(jù)采集技術(shù) 5
1.3.2 大數(shù)據(jù)預(yù)處理技術(shù) 6
1.3.3 大數(shù)據(jù)存儲與管理技術(shù) 7
1.3.4 大數(shù)據(jù)分析與挖掘技術(shù) 8
1.3.5 大數(shù)據(jù)展現(xiàn)與應(yīng)用技術(shù) 10
1.4 大數(shù)據(jù)的行業(yè)應(yīng)用 11
1.4.1 水利領(lǐng)域 11
1.4.2 生物醫(yī)學(xué)領(lǐng)域 13
1.4.3 智慧城市領(lǐng)域 14
1.4.4 商業(yè)領(lǐng)域 15
1.4.5 信息安全領(lǐng)域 15
1.5 大數(shù)據(jù)領(lǐng)域的主要職位及其能力要求 16
1.5.1 首席數(shù)據(jù)官 16
1.5.2 數(shù)據(jù)科學(xué)家 17
1.5.3 大數(shù)據(jù)開發(fā)工程師 17
1.5.4 大數(shù)據(jù)運(yùn)維工程師 18
1.6 本章小結(jié) 18
1.7 習(xí)題 18
第2章 Linux的基礎(chǔ)操作 19
2.1 Linux概述 19
2.1.1 Linux系統(tǒng)的發(fā)行版本及特點 19
2.1.2 Linux與Windows系統(tǒng)對比 19
2.2 Linux命令 20
2.2.1 命令行技巧 20
2.2.2 Linux幫助命令 22
2.2.3 Linux文件類型及查看操作 24
2.2.4 文件與目錄操作 27
2.2.5 文本編輯 34
2.2.6 文本過濾器與處理 39
2.2.7 用戶與用戶組管理 43
2.2.8 文件權(quán)限管理 49
2.2.9 歸檔與壓縮 53
2.2.10 進(jìn)程管理 56
2.3 本章小結(jié) 57
2.4 習(xí)題 57
第3章 Hadoop大數(shù)據(jù)處理架構(gòu) 59
3.1 Hadoop簡介 59
3.1.1 Hadoop的概念 59
3.1.2 Hadoop的發(fā)展史 59
3.1.3 Hadoop版本介紹 61
3.2 Hadoop的特性 61
3.3 Hadoop生態(tài)系統(tǒng) 62
3.3.1 Hadoop集群的架構(gòu) 62
3.3.2 Hadoop生態(tài)系統(tǒng)的組件 62
3.4 部署Hadoop集群 64
3.4.1 Hadoop集群的部署方式 64
3.4.2 虛擬機(jī)的創(chuàng)建和配置 64
3.4.3 安裝JDK 91
3.4.4 安裝Hadoop 92
3.4.5 驗證 98
3.5 本章小節(jié) 104
3.6 習(xí)題 104
第4章 HDFS分布式文件系統(tǒng) 105
4.1 HDFS簡介 105
4.1.1 分布式文件系統(tǒng)的發(fā)展 105
4.1.2 HDFS的基本概念 107
4.1.3 HDFS的特點 108
4.2 HDFS的存儲架構(gòu)和工作原理 109
4.2.1 HDFS的存儲架構(gòu) 109
4.2.2 HDFS文件的讀取原理 110
4.2.3 HDFS文件的寫入原理 111
4.3 HDFS的Shell操作 112
4.4 HDFS的Java API介紹 114
4.4.1 HDFS Java API概述 114
4.4.2 使用Java API操作HDFS 114
4.5 本章小結(jié) 123
4.6 習(xí)題 123
第5章 MapReduce分布式計算框架 124
5.1 MapReduce簡介 124
5.1.1 分布式并行編程 124
5.1.2 MapReduce模型簡介 125
5.1.3 MapReduce的優(yōu)/缺點 125
5.1.4 Map和Reduce函數(shù) 126
5.2 MapReduce的工作原理 127
5.2.1 工作原理概述 127
5.2.2 MapReduce的工作過程 127
5.2.3 Map任務(wù)的工作原理 129
5.2.4 Shuffle的工作原理 130
5.2.5 Reduce任務(wù)的工作原理 133
5.3 MapReduce編程組件 134
5.3.1 InputFormat組件 135
5.3.2 Mapper組件 139
5.3.3 Reducer組件 140
5.3.4 Partitioner組件 140
5.3.5 Combiner組件 141
5.3.6 OutputFormat組件 142
5.4 MapReduce案例 142
5.4.1 本地測試環(huán)境配置 143
5.4.2 WordCount 144
5.4.3 倒排索引 146
5.4.4 數(shù)據(jù)去重 154
5.4.5 Top-N 157
5.5 MapReduce實驗 160
5.5.1 任務(wù)要求 161
5.5.2 環(huán)境準(zhǔn)備 161
5.5.3 程序編寫 162
5.5.4 本地測試 165
5.5.5 集群測試 166
5.6 本章小結(jié) 167
5.7 習(xí)題 168
第6章 ZooKeeper分布式協(xié)調(diào)服務(wù) 170
6.1 ZooKeeper概述 170
6.1.1 ZooKeeper的設(shè)計目標(biāo) 170
6.1.2 ZooKeeper的特性 171
6.1.3 ZooKeeper集群角色 172
6.1.4 ZooKeeper實現(xiàn) 173
6.2 ZooKeeper數(shù)據(jù)模型 174
6.2.1 數(shù)據(jù)存儲結(jié)構(gòu) 174
6.2.2 節(jié)點類型 175
6.2.3 znode屬性 176
6.2.4 znode數(shù)據(jù)訪問 176
6.2.5 其他節(jié)點 176
6.2.6 ZooKeeper中的時間 177
6.3 watch機(jī)制 178
6.3.1 watch機(jī)制的定義 178
6.3.2 watch機(jī)制的語義 178
6.3.3 watch機(jī)制的實現(xiàn) 179
6.3.4 watch機(jī)制的特點 179
6.3.5 watch機(jī)制的通知狀態(tài)和事件類型 180
6.3.6 ZooKeeper對watch的支持 180
6.4 ZooKeeper的選舉機(jī)制 180
6.4.1 選舉機(jī)制相關(guān)概念 180
6.4.2 選舉機(jī)制類型 181
6.5 ZooKeeper會話 182
6.6 ZooKeeper使用ACL進(jìn)行訪問控制 185
6.6.1 ACL權(quán)限與內(nèi)置方案 185
6.6.2 ZooKeeper C API 186
6.7 可插拔ZooKeeper身份驗證 187
6.8 ZooKeeper綁定 189
6.8.1 Java綁定 189
6.8.2 C綁定 191
6.9 ZooKeeper部署及操作 191
6.9.1 ZooKeeper的下載與安裝 192
6.9.2 配置修改 192
6.9.3 ZooKeeper操作 194
6.9.4 ZooKeeper集群部署 195
6.9.5 ZooKeeper的Java API操作 203
6.10 ZooKeeper典型應(yīng)用 209
6.10.1 數(shù)據(jù)發(fā)布與訂閱 209
6.10.2 負(fù)載均衡 209
6.10.3 命名服務(wù) 210
6.10.4 分布式鎖 210
6.11 本章小結(jié) 211
6.12 習(xí)題 211
第7章 YARN資源管理器 213
7.1 YARN介紹 213
7.1.1 YARN的概念 213
7.1.2 YARN的應(yīng)用場景 213
7.2 YARN的基本組成 214
7.2.1 ResourceManager 215
7.2.2 NodeManager 215
7.2.3 ApplicationMaster 216
7.3 YARN的工作流程 216
7.4 YARN的調(diào)度器 217
7.4.1 先進(jìn)先出調(diào)度器 218
7.4.2 容量調(diào)度器 218
7.4.3 公平調(diào)度器 221
7.5 YARN的常用命令 227
7.5.1 查看任務(wù) 227
7.5.2 查看日志 228
7.5.3 查看嘗試運(yùn)行任務(wù) 228
7.5.4 查看容器 229
7.5.5 查看節(jié)點狀態(tài) 229
7.5.6 更新配置 229
7.5.7 查看隊列 230
7.6 本章小結(jié) 230
7.7 習(xí)題 230
第8章 HBase分布式數(shù)據(jù)庫 232
8.1 HBase簡介 232
8.2 HBase的基本組成結(jié)構(gòu) 232
8.2.1 表 233
8.2.2 行 233
8.2.3 列簇 233
8.2.4 列限定符 233
8.2.5 單元格 233
8.3 HBase數(shù)據(jù)模型 234
8.4 HBase的系統(tǒng)架構(gòu) 235
8.5 HBase的安裝部署 237
8.6 HBase的Shell操作 241
8.6.1 基本命令 241
8.6.2 命名空間操作 242
8.6.3 常用DDL操作 243
8.6.4 常用DML操作 247
8.7 HBase的Java API介紹 251
8.7.1 環(huán)境配置 251
8.7.2 Java API操作 252
8.8 本章小結(jié) 255
8.9 習(xí)題 255
第9章 Hive數(shù)據(jù)倉儲 256
9.1 Hive簡介 256
9.1.1 Hive的體系結(jié)構(gòu) 256
9.1.2 Hive的工作流程 257
9.2 Hive的安裝與配置 258
9.2.1 Hive的安裝 258
9.2.2 Hive的配置 260
9.3 Hive數(shù)據(jù)操作 261
9.3.1 Hive的數(shù)據(jù)類型 261
9.3.2 DDL操作 263
9.3.3 DML操作 267
9.3.4 Hive SQL操作 270
9.4 實驗 274
9.4.1 例1:MovieLens用戶評分 274
9.4.2 例2:Apache網(wǎng)絡(luò)日志數(shù)據(jù) 276
9.5 本章小結(jié) 276
9.6 習(xí)題 277
第10章 PySpark數(shù)據(jù)處理與分析 278
10.1 Spark概述 278
10.1.1 基本概念 279
10.1.2 Spark的基本組成與架構(gòu) 280
10.1.3 Spark編程模型 282
10.1.4 Spark集群架構(gòu) 283
10.2 PySpark簡介 285
10.3 PySpark的部署和操作 285
10.3.1 PySpark部署 285
10.3.2 快速啟動DataFrame 287
10.4 Spark Pandas API 299
10.4.1 快速入門 299
10.4.2 常用的操作運(yùn)算 305
10.4.3 PySpark使用方法的詳細(xì)講解 307
10.5 實驗 332
10.5.1 DataFrame數(shù)據(jù)操作 333
10.5.2 Spark Pandas API的操作 334
10.6 本章小結(jié) 335
10.7 習(xí)題 335
第11章 綜合案例 337
11.1 實驗準(zhǔn)備 337
11.2 實驗環(huán)境 337
11.3 實驗?zāi)康?337
11.4 數(shù)據(jù)預(yù)處理 338
11.5 數(shù)據(jù)入庫 339
11.5.1 啟動Hadoop環(huán)境 339
11.5.2 數(shù)據(jù)導(dǎo)入HBase 340
11.6 構(gòu)建索引表 341
11.6.1 創(chuàng)建Jingdong工程 342
11.6.2 導(dǎo)入相關(guān)jar包 343
11.6.3 創(chuàng)建ItemsInfo實體類 346
11.6.4 編寫創(chuàng)建HBase索引表的代碼 348
11.6.5 將程序打包成jar包 356
11.6.6 運(yùn)行環(huán)境配置 361
11.6.7 運(yùn)行程序 363
11.7 構(gòu)建搜索引擎 363
11.7.1 創(chuàng)建Java Web工程 364
11.7.2 導(dǎo)入相關(guān)jar包 366
11.7.3 部署Tomcat到IntelliJ IDEA中 367
11.7.4 創(chuàng)建相關(guān)類 370
11.7.5 創(chuàng)建前端頁面DataSearch.jsp 378
11.7.6 加載hbase-site.xml配置文件 382
11.8 頁面訪問 385
11.9 本章小結(jié) 386
參考文獻(xiàn) 387