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