大數據理論與應用基礎

吳慧欣,韓珂

  • 出版商: 電子工業
  • 出版日期: 2023-09-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 400
  • ISBN: 7121463482
  • ISBN-13: 9787121463488
  • 相關分類: 大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

商品描述

本書從初學者的角度詳細介紹大數據的核心技術。全書共11章,包括緒論、Linux的基礎操作、Hadoop大數據處理架構、HDFS分佈式文件系統、MapReduce分佈式計算框架、ZooKeeper分佈式協調服務、YARN資源管理器、HBase分佈式數據庫、Hive數據倉儲、PySpark數據處理與分析及綜合案例。此外,本書還提供了相應的示例代碼,以幫助讀者進一步理解相關方案的實現過程。

目錄大綱

目 錄

第1章 緒論 1
1.1 大數據的形成和發展 1
1.2 大數據的基本概念 3
1.2.1 什麽是大數據 3
1.2.2 大數據的特徵 3
1.3 大數據關鍵技術 5
1.3.1 大數據採集技術 5
1.3.2 大數據預處理技術 6
1.3.3 大數據存儲與管理技術 7
1.3.4 大數據分析與挖掘技術 8
1.3.5 大數據展現與應用技術 10
1.4 大數據的行業應用 11
1.4.1 水利領域 11
1.4.2 生物醫學領域 13
1.4.3 智慧城市領域 14
1.4.4 商業領域 15
1.4.5 信息安全領域 15
1.5 大數據領域的主要職位及其能力要求 16
1.5.1 首席數據官 16
1.5.2 數據科學家 17
1.5.3 大數據開發工程師 17
1.5.4 大數據運維工程師 18
1.6 本章小結 18
1.7 習題 18
第2章 Linux的基礎操作 19
2.1 Linux概述 19
2.1.1 Linux系統的發行版本及特點 19
2.1.2 Linux與Windows系統對比 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 文件權限管理 49
2.2.9 歸檔與壓縮 53
2.2.10 進程管理 56
2.3 本章小結 57
2.4 習題 57
第3章 Hadoop大數據處理架構 59
3.1 Hadoop簡介 59
3.1.1 Hadoop的概念 59
3.1.2 Hadoop的發展史 59
3.1.3 Hadoop版本介紹 61
3.2 Hadoop的特性 61
3.3 Hadoop生態系統 62
3.3.1 Hadoop集群的架構 62
3.3.2 Hadoop生態系統的組件 62
3.4 部署Hadoop集群 64
3.4.1 Hadoop集群的部署方式 64
3.4.2 虛擬機的創建和配置 64
3.4.3 安裝JDK 91
3.4.4 安裝Hadoop 92
3.4.5 驗證 98
3.5 本章小節 104
3.6 習題 104
第4章 HDFS分佈式文件系統 105
4.1 HDFS簡介 105
4.1.1 分佈式文件系統的發展 105
4.1.2 HDFS的基本概念 107
4.1.3 HDFS的特點 108
4.2 HDFS的存儲架構和工作原理 109
4.2.1 HDFS的存儲架構 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 本章小結 123
4.6 習題 123
第5章 MapReduce分佈式計算框架 124
5.1 MapReduce簡介 124
5.1.1 分佈式並行編程 124
5.1.2 MapReduce模型簡介 125
5.1.3 MapReduce的優/缺點 125
5.1.4 Map和Reduce函數 126
5.2 MapReduce的工作原理 127
5.2.1 工作原理概述 127
5.2.2 MapReduce的工作過程 127
5.2.3 Map任務的工作原理 129
5.2.4 Shuffle的工作原理 130
5.2.5 Reduce任務的工作原理 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 本地測試環境配置 143
5.4.2 WordCount 144
5.4.3 倒排索引 146
5.4.4 數據去重 154
5.4.5 Top-N 157
5.5 MapReduce實驗 160
5.5.1 任務要求 161
5.5.2 環境準備 161
5.5.3 程序編寫 162
5.5.4 本地測試 165
5.5.5 集群測試 166
5.6 本章小結 167
5.7 習題 168
第6章 ZooKeeper分佈式協調服務 170
6.1 ZooKeeper概述 170
6.1.1 ZooKeeper的設計目標 170
6.1.2 ZooKeeper的特性 171
6.1.3 ZooKeeper集群角色 172
6.1.4 ZooKeeper實現 173
6.2 ZooKeeper數據模型 174
6.2.1 數據存儲結構 174
6.2.2 節點類型 175
6.2.3 znode屬性 176
6.2.4 znode數據訪問 176
6.2.5 其他節點 176
6.2.6 ZooKeeper中的時間 177
6.3 watch機制 178
6.3.1 watch機制的定義 178
6.3.2 watch機制的語義 178
6.3.3 watch機制的實現 179
6.3.4 watch機制的特點 179
6.3.5 watch機制的通知狀態和事件類型 180
6.3.6 ZooKeeper對watch的支持 180
6.4 ZooKeeper的選舉機制 180
6.4.1 選舉機制相關概念 180
6.4.2 選舉機制類型 181
6.5 ZooKeeper會話 182
6.6 ZooKeeper使用ACL進行訪問控制 185
6.6.1 ACL權限與內置方案 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典型應用 209
6.10.1 數據發布與訂閱 209
6.10.2 負載均衡 209
6.10.3 命名服務 210
6.10.4 分佈式鎖 210
6.11 本章小結 211
6.12 習題 211
第7章 YARN資源管理器 213
7.1 YARN介紹 213
7.1.1 YARN的概念 213
7.1.2 YARN的應用場景 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的調度器 217
7.4.1 先進先出調度器 218
7.4.2 容量調度器 218
7.4.3 公平調度器 221
7.5 YARN的常用命令 227
7.5.1 查看任務 227
7.5.2 查看日誌 228
7.5.3 查看嘗試運行任務 228
7.5.4 查看容器 229
7.5.5 查看節點狀態 229
7.5.6 更新配置 229
7.5.7 查看隊列 230
7.6 本章小結 230
7.7 習題 230
第8章 HBase分佈式數據庫 232
8.1 HBase簡介 232
8.2 HBase的基本組成結構 232
8.2.1 表 233
8.2.2 行 233
8.2.3 列簇 233
8.2.4 列限定符 233
8.2.5 單元格 233
8.3 HBase數據模型 234
8.4 HBase的系統架構 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 環境配置 251
8.7.2 Java API操作 252
8.8 本章小結 255
8.9 習題 255
第9章 Hive數據倉儲 256
9.1 Hive簡介 256
9.1.1 Hive的體系結構 256
9.1.2 Hive的工作流程 257
9.2 Hive的安裝與配置 258
9.2.1 Hive的安裝 258
9.2.2 Hive的配置 260
9.3 Hive數據操作 261
9.3.1 Hive的數據類型 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網絡日誌數據 276
9.5 本章小結 276
9.6 習題 277
第10章 PySpark數據處理與分析 278
10.1 Spark概述 278
10.1.1 基本概念 279
10.1.2 Spark的基本組成與架構 280
10.1.3 Spark編程模型 282
10.1.4 Spark集群架構 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 常用的操作運算 305
10.4.3 PySpark使用方法的詳細講解 307
10.5 實驗 332
10.5.1 DataFrame數據操作 333
10.5.2 Spark Pandas API的操作 334
10.6 本章小結 335
10.7 習題 335
第11章 綜合案例 337
11.1 實驗準備 337
11.2 實驗環境 337
11.3 實驗目的 337
11.4 數據預處理 338
11.5 數據入庫 339
11.5.1 啟動Hadoop環境 339
11.5.2 數據導入HBase 340
11.6 構建索引表 341
11.6.1 創建Jingdong工程 342
11.6.2 導入相關jar包 343
11.6.3 創建ItemsInfo實體類 346
11.6.4 編寫創建HBase索引表的代碼 348
11.6.5 將程序打包成jar包 356
11.6.6 運行環境配置 361
11.6.7 運行程序 363
11.7 構建搜索引擎 363
11.7.1 創建Java Web工程 364
11.7.2 導入相關jar包 366
11.7.3 部署Tomcat到IntelliJ IDEA中 367
11.7.4 創建相關類 370
11.7.5 創建前端頁面DataSearch.jsp 378
11.7.6 加載hbase-site.xml配置文件 382
11.8 頁面訪問 385
11.9 本章小結 386
參考文獻 387