大數(shù)據(jù)技術(shù)及架構(gòu)圖解實(shí)戰(zhàn)派
定 價(jià):146 元
- 作者:徐葳
- 出版時(shí)間:2022/7/1
- ISBN:9787121437748
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁(yè)碼:500
- 紙張:
- 版次:01
- 開本:16開
本書提供了學(xué)習(xí)大數(shù)據(jù)技術(shù)及架構(gòu)的一站式解決方案,覆蓋了大數(shù)據(jù)生態(tài)圈中的完整技術(shù)體系,包括數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、分布式資源管理、數(shù)據(jù)計(jì)算、數(shù)據(jù)分析、任務(wù)調(diào)度、數(shù)據(jù)檢索、大數(shù)據(jù)底層基礎(chǔ)技術(shù)和大數(shù)據(jù)集群安裝與管理。本書還介紹了多個(gè)企業(yè)級(jí)大數(shù)據(jù)應(yīng)用案例(包括海量數(shù)據(jù)采集、“雙十一”數(shù)據(jù)大屏、海量數(shù)據(jù)全文搜索系統(tǒng)等)和大數(shù)據(jù)平臺(tái)架構(gòu)案例(包括離線數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)、實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)、批流一體化數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)、數(shù)據(jù)中臺(tái)架構(gòu)、直播大數(shù)據(jù)平臺(tái)架構(gòu)、電商大數(shù)據(jù)平臺(tái)架構(gòu)等),可以幫助讀者從全局角度理解大數(shù)據(jù)。在本書中,技術(shù)內(nèi)容基本上都是從零講起的,結(jié)合原理和架構(gòu),以“圖解+實(shí)戰(zhàn)”的形式幫助讀者輕松理解復(fù)雜的知識(shí)。
徐葳中科院大數(shù)據(jù)研究院大數(shù)據(jù)技術(shù)專家,曾就職于北京獵豹移動(dòng)科技有限公司,出版了《Flink入門與實(shí)戰(zhàn)》
基 礎(chǔ) 篇
●第1章 大數(shù)據(jù)的前世今生 2
1.1 什么是大數(shù)據(jù) 2
1.2 大數(shù)據(jù)產(chǎn)生的背景 3
1.3 大數(shù)據(jù)的4V特征 3
1.4 大數(shù)據(jù)的典型應(yīng)用場(chǎng)景 4
1.5 大數(shù)據(jù)生態(tài)圈核心技術(shù)總覽 7
技 術(shù) 篇
●第2章 海量數(shù)據(jù)采集 9
2.1 為什么需要數(shù)據(jù)采集 9
2.2 數(shù)據(jù)形態(tài) 9
2.3 數(shù)據(jù)來源 11
2.4 數(shù)據(jù)采集規(guī)則 11
2.5 日志數(shù)據(jù)采集工具 13
2.5.1 對(duì)比常見的日志數(shù)據(jù)采集工具 13
2.5.2 Flume的原理及架構(gòu)分析 14
2.5.3 Flume的應(yīng)用 17
-安裝Flume 17
-Hello World 17
-【實(shí)戰(zhàn)】日志匯總采集 23
2.5.4 Logstash的原理及架構(gòu)分析 28
2.5.5 Logstash的應(yīng)用 30
-安裝Logstash 31
-【實(shí)戰(zhàn)】Hello World案例 31
-【實(shí)戰(zhàn)】采集異常日志案例 34
2.5.6 Filebeat的原理及架構(gòu)分析 38
- Filebeat的由來 38
-原理及架構(gòu)分析 39
2.5.7 Filebeat的應(yīng)用 42
- 安裝Filebeat 42
-【實(shí)戰(zhàn)】采集應(yīng)用程序日志 43
2.6 數(shù)據(jù)庫(kù)數(shù)據(jù)采集工具 46
2.6.1 對(duì)比常見的數(shù)據(jù)庫(kù)數(shù)據(jù)采集工具 46
-數(shù)據(jù)庫(kù)離線數(shù)據(jù)采集工具 46
-數(shù)據(jù)庫(kù)實(shí)時(shí)數(shù)據(jù)采集工具 47
2.6.2 Sqoop的原理及架構(gòu)分析 49
2.6.3 DataX的原理及架構(gòu)分析 53
2.6.4 Sqoop的應(yīng)用 55
-安裝Sqoop 55
-Sqoop常見參數(shù) 57
-【實(shí)戰(zhàn)】導(dǎo)入數(shù)據(jù) 59
-【實(shí)戰(zhàn)】導(dǎo)出數(shù)據(jù) 61
-【實(shí)戰(zhàn)】封裝Sqoop腳本 63
2.6.5 Canal的原理及架構(gòu)分析 64
2.6.6 Maxwell的原理及架構(gòu)分析 65
2.6.7 Maxwell的應(yīng)用 66
-安裝Maxwell 66
-【實(shí)戰(zhàn)】采集MySQL數(shù)據(jù)庫(kù)的實(shí)時(shí)數(shù)據(jù) 67
2.7 網(wǎng)頁(yè)數(shù)據(jù)采集工具 71
2.7.1 常見的網(wǎng)頁(yè)數(shù)據(jù)采集工具 71
2.7.2 網(wǎng)頁(yè)數(shù)據(jù)采集工具的原理及架構(gòu)分析 71
2.8 物聯(lián)網(wǎng)數(shù)據(jù)采集工具 73
2.8.1 什么是物聯(lián)網(wǎng)數(shù)據(jù)采集 73
2.8.2 如何實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)采集 73
2.9 消息隊(duì)列中間件 73
2.9.1 為什么需要消息隊(duì)列中間件 73
2.9.2 對(duì)比常見的消息隊(duì)列中間件 75
2.9.3 Kafka原理及架構(gòu)分析 75
2.9.4 Kafka的應(yīng)用 77
-安裝Zookeeper集群 77
-安裝Kafka集群 79
-【實(shí)戰(zhàn)】生產(chǎn)者的使用 81
-【實(shí)戰(zhàn)】消費(fèi)者的使用 82
2.9.5 Filebeat + Flume + Kafka的典型架構(gòu)分析 82
-數(shù)據(jù)采集聚合層 83
-數(shù)據(jù)分發(fā)層 83
-數(shù)據(jù)落盤層 84
● 第3章 海量數(shù)據(jù)存儲(chǔ) 85
3.1 海量數(shù)據(jù)存儲(chǔ)的演進(jìn)之路 85
3.2 分布式文件存儲(chǔ)之HDFS 86
3.2.1 HDFS的前世今生 86
3.2.2 HDFS的原理及架構(gòu)分析 87
3.2.3 常見的分布式文件系統(tǒng) 90
3.2.4 安裝Hadoop集群 91
3.2.5 安裝Hadoop客戶端 102
3.2.6 HDFS的應(yīng)用 104
-HDFS常用命令的使用 105
-【實(shí)戰(zhàn)】統(tǒng)計(jì)HDFS中的文件 107
3.3 NoSQL數(shù)據(jù)庫(kù)之HBase 108
3.3.1 HBase的前世今生 108
3.3.2 HBase的原理及架構(gòu)分析 108
3.3.3 HBase的典型應(yīng)用場(chǎng)景 115
3.3.4 安裝HBase集群 116
3.3.5 HBase的應(yīng)用 120
-【實(shí)戰(zhàn)】使用Shell命令行操作HBase 121
-【實(shí)戰(zhàn)】使用Java API操作HBase 132
3.4 NoSQL數(shù)據(jù)庫(kù)之Redis 136
3.4.1 Redis的產(chǎn)生背景 136
3.4.2 Redis的發(fā)展歷程 137
3.4.3 Redis的原理及架構(gòu)分析 137
3.4.4 Redis的應(yīng)用 142
-安裝Redis 142
-【實(shí)戰(zhàn)】Redis常見命令的使用 144
-【實(shí)戰(zhàn)】存儲(chǔ)一個(gè)班的學(xué)員信息 154
-【實(shí)戰(zhàn)】使用Java代碼操作Redis 155
●第4章 離線數(shù)據(jù)計(jì)算 158
4.1 離線數(shù)據(jù)計(jì)算引擎的發(fā)展之路 158
4.2 離線計(jì)算引擎MapReduce 160
4.2.1 MapReduce的前世今生 160
4.2.2 MapReduce核心原理及架構(gòu)分析 161
4.2.3 【實(shí)戰(zhàn)】MapReduce離線數(shù)據(jù)計(jì)算——計(jì)算文件中每個(gè)單詞出現(xiàn)的總次數(shù) 170
4.3 離線計(jì)算引擎Spark 176
4.3.1 Spark可以取代Hadoop嗎 176
4.3.2 Spark核心原理及架構(gòu)分析 177
4.3.3 【實(shí)戰(zhàn)】Spark離線數(shù)據(jù)計(jì)算——計(jì)算文件中每個(gè)單詞出現(xiàn)的總次數(shù) 184
4.3.4 Spark中核心算子介紹及使用 189
●第5章 實(shí)時(shí)數(shù)據(jù)計(jì)算 207
5.1 從離線數(shù)據(jù)計(jì)算到實(shí)時(shí)數(shù)據(jù)計(jì)算 207
5.2 實(shí)時(shí)數(shù)據(jù)計(jì)算引擎的演進(jìn)之路 208
5.3 實(shí)時(shí)數(shù)據(jù)計(jì)算引擎的技術(shù)選型 209
5.4 實(shí)時(shí)計(jì)算引擎Storm 211
5.4.1 Storm的原理及架構(gòu)分析 211
5.4.2 安裝Storm集群 216
5.4.3 【實(shí)戰(zhàn)】Storm實(shí)時(shí)數(shù)據(jù)計(jì)算 220
-實(shí)時(shí)清洗訂單數(shù)據(jù)(實(shí)時(shí)ETL) 220
-向Storm集群中提交任務(wù) 224
-停止Storm集群中正在運(yùn)行的任務(wù) 226
5.5 實(shí)時(shí)計(jì)算引擎Spark Streaming 227
5.5.1 Spark Streaming的原理 227
5.5.2 對(duì)比Spark Streaming和Structured Streaming 229
5.5.3 【實(shí)戰(zhàn)】Spark Streaming實(shí)時(shí)數(shù)據(jù)計(jì)算 230
5.6 新一代實(shí)時(shí)計(jì)算引擎Flink 237
5.6.1 Flink的原理及架構(gòu)分析 237
5.6.2 Flink中核心算子的使用 244
5.6.3 【實(shí)戰(zhàn)】Flink實(shí)時(shí)數(shù)據(jù)計(jì)算 251
5.6.4 【實(shí)戰(zhàn)】利用Flink + DataV實(shí)現(xiàn)“雙十一”數(shù)據(jù)大屏 261
●第6章 OLAP數(shù)據(jù)分析 274
6.1 OLAP起源及現(xiàn)狀 274
6.2 OLAP引擎的分類 278
6.2.1 從數(shù)據(jù)建模方式分類 278
6.2.2 從數(shù)據(jù)處理時(shí)效分類 279
6.3 常見OLAP引擎的應(yīng)用場(chǎng)景 280
6.4 常見離線OLAP引擎 282
6.4.1 Hive的原理及架構(gòu)分析 282
6.4.2 Impala的原理及架構(gòu)分析 284
6.4.3 Kylin的原理及架構(gòu)分析 287
6.4.4 對(duì)比Hive、Impala和Kylin 290
6.5 常見實(shí)時(shí)OLAP引擎 290
6.5.1 Druid的原理及架構(gòu)分析 290
6.5.2 ClickHouse的原理及架構(gòu)分析 297
6.5.3 Doris的原理及架構(gòu)分析 299
6.5.4 對(duì)比Druid、ClickHouse和Doris 302
6.6 Hive快速上手 303
6.6.1 Hive部署 303
6.6.2 Hive核心功能使用 307
- Hive的使用方式 307
-【實(shí)戰(zhàn)】Hive中數(shù)據(jù)庫(kù)和表的操作 310
-【實(shí)戰(zhàn)】Hive中的數(shù)據(jù)類型 314
-【實(shí)戰(zhàn)】Hive中的表類型 318
-【實(shí)戰(zhàn)】Hive中的視圖 324
-【實(shí)戰(zhàn)】Hive中的高級(jí)函數(shù) 324
-【實(shí)戰(zhàn)】Hive中的排序語句 327
6.7 【實(shí)戰(zhàn)】Hive離線數(shù)據(jù)統(tǒng)計(jì)分析 329
6.7.1 需求及架構(gòu)分析 329
6.7.2 核心步驟實(shí)現(xiàn) 330
●第7章 海量數(shù)據(jù)全文檢索引擎 336
7.1 大數(shù)據(jù)時(shí)代全文檢索引擎的發(fā)展之路 336
7.1.1 全文檢索引擎的發(fā)展 337
7.1.2 全文檢索引擎技術(shù)選型 338
7.2 全文檢索引擎原理與架構(gòu)分析 340
7.2.1 Lucene的原理及架構(gòu)分析 340
7.2.2 Solr的原理及架構(gòu)分析 343
7.2.3 Elasticsearch的原理及架構(gòu)分析 345
7.3 Elasticsearch快速上手 351
7.3.1 Elasticsearch集群安裝部署 351
-安裝Elasticsearch集群 351
-安裝Elasticsearch集群的監(jiān)控管理工具 356
7.3.2 Elasticsearch核心功能的使用 359
-Elasticsearch的常見操作 359
-【實(shí)戰(zhàn)】Elasticsearch集成中文分詞器 371
-【實(shí)戰(zhàn)】Elasticsearch自定義詞庫(kù) 379
-【實(shí)戰(zhàn)】Elasticsearch查詢?cè)斀?383
-【實(shí)戰(zhàn)】Elasticsearch SQL的使用 387
7.4 【實(shí)戰(zhàn)】基于Elasticsearch + HBase構(gòu)建全文搜索系統(tǒng) 390
7.4.1 全文搜索系統(tǒng)需求分析 390
7.4.2 系統(tǒng)架構(gòu)流程設(shè)計(jì) 391
7.4.3 開發(fā)全文搜索系統(tǒng) 394
●第8章 分布式任務(wù)調(diào)度系統(tǒng) 411
8.1 任務(wù)調(diào)度系統(tǒng)的作用 411
8.2 傳統(tǒng)任務(wù)調(diào)度系統(tǒng)Crontab的痛點(diǎn) 411
8.3 分布式任務(wù)調(diào)度系統(tǒng)原理與架構(gòu)分析 412
8.3.1 常見的分布式任務(wù)調(diào)度系統(tǒng) 413
8.3.2 Azkaban的原理及架構(gòu)分析 414
8.3.3 Ooize的原理及架構(gòu)分析 417
8.3.4 DolphinScheduler的原理及架構(gòu)分析 420
8.4 Azkaban快速上手 422
8.4.1 安裝Azkaban 422
8.4.2 【實(shí)戰(zhàn)】配置一個(gè)定時(shí)執(zhí)行的獨(dú)立任務(wù) 424
8.4.3 【實(shí)戰(zhàn)】配置一個(gè)帶有多級(jí)依賴的任務(wù) 432
8.5 【實(shí)戰(zhàn)】Azkaban在數(shù)據(jù)倉(cāng)庫(kù)中的應(yīng)用 435
8.5.1 創(chuàng)建Job文件并進(jìn)行壓縮 436
8.5.2 在Azkaban中創(chuàng)建項(xiàng)目并上傳gmv_calc.zip 441
8.5.3 給Azkaban中的任務(wù)設(shè)置定時(shí)執(zhí)行 441
●第9章 分布式資源管理 444
9.1 分布式資源管理 444
9.2 YARN的原理及架構(gòu)分析 445
9.3 YARN中的資源調(diào)度器 448
9.4 【實(shí)戰(zhàn)】配置和使用YARN多資源隊(duì)列 450
●第10章 大數(shù)據(jù)平臺(tái)搭建工具 456
10.1 如何快速搭建大數(shù)據(jù)平臺(tái) 456
10.2 了解常見的大數(shù)據(jù)平臺(tái)工具 457
10.2.1 大數(shù)據(jù)平臺(tái)工具HDP 457
10.2.2 大數(shù)據(jù)平臺(tái)工具CDH 458
10.2.3 大數(shù)據(jù)平臺(tái)工具CDP 460
架 構(gòu) 篇
●第11章 數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)演進(jìn)之路 463
11.1 什么是數(shù)據(jù)倉(cāng)庫(kù) 463
11.2 為什么需要數(shù)據(jù)倉(cāng)庫(kù) 464
11.3 數(shù)據(jù)倉(cāng)庫(kù)的基礎(chǔ)知識(shí) 465
11.3.1 事實(shí)表和維度表 465
11.3.2 數(shù)據(jù)庫(kù)三范式 466
11.3.3 數(shù)據(jù)倉(cāng)庫(kù)建模方式 467
11.3.4 維度建模模型 468
11.4 數(shù)據(jù)倉(cāng)庫(kù)分層 469
11.4.1 數(shù)據(jù)分層設(shè)計(jì) 470
11.4.2 數(shù)據(jù)倉(cāng)庫(kù)命名規(guī)范 471
11.5 數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)設(shè)計(jì) 471
11.5.1 離線數(shù)據(jù)倉(cāng)庫(kù)架構(gòu) 472
11.5.2 實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)架構(gòu) 472
●第12章 數(shù)據(jù)中臺(tái)架構(gòu)演進(jìn)之路 475
12.1 什么是中臺(tái) 475
12.2 什么是數(shù)據(jù)中臺(tái) 477
12.3 數(shù)據(jù)中臺(tái)演進(jìn)過程 478
12.4 數(shù)據(jù)中臺(tái)架構(gòu) 479
12.4.1 采 480
12.4.2 存 480
12.4.3 通 481
12.4.4 用 481
●第13章 典型行業(yè)大數(shù)據(jù)架構(gòu)分析 482
13.1 直播大數(shù)據(jù)平臺(tái)架構(gòu)分析 482
13.2 電商大數(shù)據(jù)平臺(tái)架構(gòu)分析 483
13.3 金融大數(shù)據(jù)平臺(tái)架構(gòu)分析 484
13.4 交通大數(shù)據(jù)平臺(tái)架構(gòu)分析 485
13.5 游戲大數(shù)據(jù)平臺(tái)架構(gòu)分析 486