定 價:78 元
叢書名:大數(shù)據(jù)管理與應用系列叢書
- 作者:呂欣,黃宏斌
- 出版時間:2025/11/1
- ISBN:9787030823304
- 出 版 社:科學出版社
- 中圖法分類:TP274,TP311.132.3
- 頁碼:454
- 紙張:
- 版次:1
- 開本:16
本書內(nèi)容涵蓋分布式理論基礎、大數(shù)據(jù)處理架構Hadoop、Hadoop分布式文件系統(tǒng)、基于Hadoop的數(shù)據(jù)倉庫工具Hive、分布式數(shù)據(jù)庫HBase、分布式計算框架MapReduce、基于內(nèi)存的分布式計算框架Spark、分布式計算框架Flink、分布式協(xié)作服務ZooKeeper等大數(shù)據(jù)平臺架構核心理論與重要組件,以及資源管理平臺YARN,分布式數(shù)據(jù)采集和傳輸系統(tǒng)Flume,基于發(fā)布/訂閱的消息隊列Kafka,分布式NewSQL數(shù)據(jù)庫TiDB,分布式日志收集、查詢和展示系統(tǒng)Loki,向量數(shù)據(jù)庫Milvus等擴展技術。通過概念辨析、原理解析、模型介紹、流程分析、案例講解和編程實現(xiàn),結合精心設計的321個圖表、19個代碼示例及6大學習模塊,遴選了7個實踐案例,促進讀者對內(nèi)容的理解和掌握。此外,本書還提供虛擬機節(jié)點服務器配置、基于Apache的Hadoop集群搭建、Spark大數(shù)據(jù)平臺搭建的操作指南,并配套豐富的數(shù)字化學習資源和全套教輔資料,形成了理論與實踐并重的立體化教學體系。
更多科學出版社服務,請掃碼獲取。
大數(shù)據(jù)挖掘國家杰出青年科學基金
教育部科技進步二等獎
目錄
第1章 導論
1.1 走進大數(shù)據(jù)時代 2
1.1.1 數(shù)據(jù)爆炸 2
1.1.2 數(shù)據(jù)生產(chǎn)要素 5
1.1.3 大數(shù)據(jù)時代的技術變革 8
1.2 大數(shù)據(jù)的定義及特征 11
1.3 大數(shù)據(jù)技術基礎 14
1.3.1 數(shù)據(jù)采集與預處理 15
1.3.2 數(shù)據(jù)存儲與管理 17
1.3.3 數(shù)據(jù)分析與挖掘 18
1.3.4 數(shù)據(jù)隱私與安全 19
1.4 大數(shù)據(jù)平臺架構 22
1.4.1 大數(shù)據(jù)平臺基本概念 22
1.4.2 大數(shù)據(jù)平臺架構模塊 23
1.5 大數(shù)據(jù)平臺應用 25
1.5.1 環(huán)境監(jiān)測大數(shù)據(jù)平臺 25
1.5.2 智慧農(nóng)業(yè)大數(shù)據(jù)平臺 26
1.5.3 能源電力大數(shù)據(jù)平臺 27
1.5.4 智慧物流大數(shù)據(jù)平臺 28
1.5.5 醫(yī)療大數(shù)據(jù)平臺 29
1.5.6 社會治理大數(shù)據(jù)平臺 30
1.6 本書實驗環(huán)境說明 31
本章小結 33
第2章 分布式理論基礎
2.1 分布式系統(tǒng)簡介 35
2.1.1 分布式系統(tǒng)的特點 36
2.1.2 分布式系統(tǒng)的優(yōu)勢 36
2.1.3 分布式系統(tǒng)的挑戰(zhàn) 38
2.2 分布式存儲理論 39
2.2.1 分區(qū)和復制 39
2.2.2 CAP定理 40
2.2.3 PACELC定理 44
2.2.4 BASE理論 46
2.3 分布式共識 48
2.3.1 分布式共識簡介 48
2.3.2 分布式系統(tǒng)模型 49
2.3.3 FLP不可能定理 53
2.4 共識算法 54
2.4.1 Paxos算法 55
2.4.2 Raft算法 62
2.4.3 拜占庭容錯和PBFT算法 68
本章小結 72
第3章 大數(shù)據(jù)處理架構Hadoop
3.1 認識Hadoop 75
3.1.1 數(shù)據(jù)庫的架構設計 75
3.1.2 傳統(tǒng)的數(shù)據(jù)庫管理 77
3.1.3 新興的數(shù)據(jù)管理需求 79
3.1.4 Apache Hadoop生態(tài)的提出 80
3.2 Apache Hadoop生態(tài)系統(tǒng)及其重要組件 82
3.2.1 分布式文件系統(tǒng):HDFS 83
3.2.2 分布式計算框架:MapReduce 86
3.2.3 分布式協(xié)作服務:ZooKeeper 89
3.2.4 分布式列數(shù)據(jù)庫:HBase 92
3.2.5 數(shù)據(jù)倉庫:Hive 95
3.2.6 資源管理器:YARN 98
3.2.7 日志收集工具:Flume 100
3.3 Hadoop社區(qū)和典型應用 102
3.3.1 Hadoop社區(qū) 102
3.3.2 Hadoop的典型應用 103
本章小結 106
第4章 Hadoop分布式文件系統(tǒng)HDFS
4.1 HDFS概述 108
4.1.1 分布式文件系統(tǒng)發(fā)展 108
4.1.2 HDFS設計思想 112
4.1.3 HDFS特性與局限 114
4.2 HDFS基本架構 115
4.2.1 NameNode 116
4.2.2 DataNode 119
4.2.3 Client 121
4.2.4 Secondary NameNode 122
4.3 HDFS工作機制 124
4.3.1 機架感知 124
4.3.2 DataNode容錯機制 125
4.3.3 高可用機制 129
4.3.4 聯(lián)邦機制 133
4.4 HDFS讀寫操作 134
4.4.1 文件讀取 134
4.4.2 文件寫入 137
4.5 HDFS實踐 139
4.5.1 HDFS安裝、啟動和配置 139
4.5.2 HDFS常用操作綜合實踐 148
本章小結 157
第5章 基于Hadoop的數(shù)據(jù)倉庫工具Hive
5.1 Hive基礎 160
5.1.1 Hive簡介 160
5.1.2 Hive應用場景 160
5.2 Hive架構及運行機制 161
5.2.1 Hive架構 161
5.2.2 Hive工作流程及與Hadoop的交互 163
5.3 Hive數(shù)據(jù)類型 164
5.4 Hive數(shù)據(jù)定義語言 165
5.4.1 Hive數(shù)據(jù)庫管理 166
5.4.2 Hive表管理 168
5.4.3 Hive視圖管理 172
5.4.4 Hive索引管理 173
5.5 分區(qū)和分桶 174
5.5.1 分區(qū)與分區(qū)表 174
5.5.2 分桶與分桶表 176
5.6 Hive數(shù)據(jù)操作語言 178
5.6.1 加載文件 178
5.6.2 查詢插入 179
5.6.3 數(shù)據(jù)遷移 180
5.7 Hive數(shù)據(jù)檢索與計算基礎 180
5.7.1 Hive運算符 181
5.7.2 數(shù)據(jù)的查詢、過濾與分組聚合 182
5.7.3 Hive內(nèi)置函數(shù) 186
5.8 Hive實踐 187
5.8.1 Hive安裝與配置 187
5.8.2 基于Hive的網(wǎng)絡直播平臺數(shù)據(jù)查詢與分析綜合實踐 196
本章小結 206
第6章 分布式數(shù)據(jù)庫HBase
6.1 數(shù)據(jù)庫系統(tǒng)概述 209
6.1.1 數(shù)據(jù)模型 210
6.1.2 傳統(tǒng)關系型數(shù)據(jù)庫 214
6.1.3 關系型數(shù)據(jù)庫標準語言SQL 220
6.1.4 大數(shù)據(jù)時代下的數(shù)據(jù)庫技術 231
6.2 HBase概述 233
6.2.1 HBase的基本概念 233
6.2.2 HBase表結構 233
6.2.3 HBase的優(yōu)缺點 236
6.3 HBase體系架構 237
6.3.1 Master 238
6.3.2 分區(qū)服務器 240
6.3.3 ZooKeeper 241
6.3.4 HBase客戶端 242
6.3.5 HDFS 242
6.4 HBase數(shù)據(jù)模型 242
6.4.1 概念模型 243
6.4.2 物理模型 243
6.5 HBase讀寫流程 245
6.5.1 HBase寫入操作流程 245
6.5.2 HBase讀取操作流程 246
6.6 HBase shell 247
6.6.1 數(shù)據(jù)定義語言 247
6.6.2 數(shù)據(jù)操縱語言 249
6.7 HBase實踐 250
6.7.1 HBase安裝 250
6.7.2 單機模式配置HBase 252
6.7.3 分布模式配置HBase 253
6.7.4 簡單的HBase操作實踐 255
本章小結 259
第7章 分布式計算框架MapReduce
7.1 MapReduce概述 261
7.1.1 MapReduce簡介 261
7.1.2 Map和Reduce函數(shù)定義 261
7.1.3 Map和Reduce函數(shù)示例 261
7.2 MapReduce工作流程 264
7.2.1 工作流程概述 264
7.2.2 MapReduce執(zhí)行步驟 268
7.2.3 Shuffle過程詳解 269
7.3 MapReduce的數(shù)據(jù)類型與格式 270
7.3.1 MapReduce數(shù)據(jù)類型 270
7.3.2 輸入格式 271
7.3.3 輸出格式 273
7.4 WordCount應用示例 275
7.4.1 WordCount問題背景 275
7.4.2 MapReduce執(zhí)行條件判斷 275
7.4.3 WordCount處理流程 275
7.4.4 編程實踐 277
7.5 基于MapReduce的氣象數(shù)據(jù)挖掘綜合實踐 283
7.5.1 氣象數(shù)據(jù)集介紹 284
7.5.2 數(shù)據(jù)處理流程 284
7.5.3 編寫MapReduce程序 285
本章小結 289
第8章 基于內(nèi)存的分布式計算框架Spark
8.1 Spark概述 291
8.1.1 Spark產(chǎn)生背景 291
8.1.2 Spark是什么 292
8.1.3 Spark的主要特點 293
8.2 Spark組件 294
8.2.1 Spark Core 295
8.2.2 Spark SQL 297
8.2.3 Spark Structured Streaming 298
8.2.4 Spark MLlib 298
8.2.5 GraphX 299
8.3 Spark運行架構 299
8.3.1 基本概念 299
8.3.2 Spark應用程序 300
8.3.3 Spark工作流程 300
8.3.4 轉換操作和行動操作 301
8.4 Spark結構化API 303
8.4.1 產(chǎn)生背景 303
8.4.2 DataFrame和Dataset 303
8.4.3 Spark數(shù)據(jù)類型 305
8.5 Spark下載及使用 306
8.5.1 Spark下載 306
8.5.2 Spark Shell使用 307
8.5.3 Spark UI簡介 309
8.6 Spark SQL實踐 310
8.6.1 Spark SQL查詢語句 310
8.6.2 Spark SQL數(shù)據(jù)庫和數(shù)據(jù)表 315
8.6.3 Spark SQL視圖 318
8.7 基于Spark的商品訂單數(shù)據(jù)處理綜合實踐 319
8.7.1 環(huán)境配置 319
8.7.2 數(shù)據(jù)來源 320
8.7.3 數(shù)據(jù)預處理 321
8.7.4 數(shù)據(jù)統(tǒng)計 321
本章小結 325
第9章 分布式計算框架Flink
9.1 Flink概述 327
9.1.1 Flink的定義及描述 327
9.1.2 Flink的主要功能 327
9.1.3 Flink的特點 328
9.2 數(shù)據(jù)處理架構設計 328
9.2.1 傳統(tǒng)數(shù)據(jù)處理架構 328
9.2.2 初級流式處理架構 329
9.2.3 Flink流式處理架構 330
9.3 Flink工作機制 330
9.3.1 Flink運行架構 331
9.3.2 Flink應用程序部署方式 331
9.4 Flink API 332
9.4.1 Flink API關鍵概念 333
9.4.2 SQL/Table API 335
9.4.3 DataStream API 338
9.4.4 ProcessFunction 340
9.5 Flink監(jiān)控 341
9.5.1 Flink監(jiān)控處理的問題 342
9.5.2 Flink監(jiān)控內(nèi)容 342
9.5.3 Flink監(jiān)控工具 343
9.5.4 Flink Metrics工具介紹 344
9.5.5 Flink Dashboard工具介紹 346
9.6 Flink應用場景 347
9.7 基于Flink的股票交易模擬綜合實踐 349
9.7.1 案例背景 349
9.7.2 數(shù)據(jù)說明 349
9.7.3 編程實踐 350
本章小結 358
第10章 分布式協(xié)作服務ZooKeeper
10.1 ZooKeeper概述 360
10.2 ZooKeeper基礎 360
10.2.1 集群角色 361
10.2.2 數(shù)據(jù)節(jié)點 362
10.2.3 會話 364
10.2.4 事件監(jiān)聽器 364
10.3 ZAB協(xié)議 365
10.3.1 工作過程概述 365
10.3.2 崩潰恢復 366
10.3.3 消息廣播 367
10.3.4 協(xié)議描述 367
10.4 ZooKeeper 命令 370
10.4.1 創(chuàng)建Znode 370
10.4.2 獲取數(shù)據(jù) 371
10.4.3 更新數(shù)據(jù) 373
10.4.4 列出子項 373
10.4.5 檢查狀態(tài) 374
10.4.6 刪除Znode 374
10.5 ZooKeeper典型應用場景 375
10.5.1 統(tǒng)一命名服務 375
10.5.2 數(shù)據(jù)發(fā)布/訂閱 376
10.5.3 分布式協(xié)調(diào)/通知 376
10.5.4 負載均衡 377
10.5.5 分布式鎖 378
10.5.6 集群管理 380
10.5.7 Master選舉 381
10.6 ZooKeeper在大型分布式系統(tǒng)中的應用 382
10.6.1 Hadoop 382
10.6.2 HBase 383
10.6.3 Kafka 384
本章小結 386
第11章 相關技術擴展
11.1 YARN 388
11.1.1 YARN概述 388
11.1.2 YARN架構 388
11.1.3 YARN工作流程 390
11.1.4 YARN常用命令 392
11.2 Flume 393
11.2.1 Flume 概述 393
11.2.2 Flume架構 394
11.2.3 Flume的Source 397
11.2.4 Flume的Channel 398
11.2.5 Flume的Sink 398
11.2.6 配置Flume Agent 398
11.3 Kafka 400
11.3.1 Kafka概述 400
11.3.2 Kafka架構 401
11.3.3 Kafka生產(chǎn)者 403
11.3.4 Kafka消費者 407
11.4 TiDB 410
11.4.1 TiDB概述 410
11.4.2 TiDB架構 411
11.5 Loki 416
11.5.1 Loki概述 416
11.5.2 Loki架構 417
11.5.3 Loki的安裝及配置 418
11.5.4 Loki基本功能 418
11.5.5 Loki高級功能 423
11.6 Milvus 426
11.6.1 Milvus概述 426
11.6.2 關鍵概念 426
11.6.3 Milvus架構 428
11.6.4 Milvus部署模式 431
11.6.5 Milvus應用示例 431
本章小結 434
第12章 綜合實踐—日志采集分析系統(tǒng)
12.1 系統(tǒng)功能概述 436
12.1.1 Web應用 436
12.1.2 性能測試 436
12.1.3 日志采集與存儲 437
12.1.4 日志分析 438
12.2 系統(tǒng)部署概述 439
12.3 系統(tǒng)構建說明 440
12.3.1 構建Web應用 440
12.3.2 實現(xiàn)日志采集和存儲功能 443
12.3.3 構建日志分析功能 449
本章小結 453