大數據技術及架構圖解實戰派

徐葳

  • 出版商: 電子工業
  • 出版日期: 2022-07-01
  • 售價: $876
  • 貴賓價: 9.5$832
  • 語言: 簡體中文
  • 頁數: 500
  • ISBN: 7121437740
  • ISBN-13: 9787121437748
  • 相關分類: 大數據 Big-data
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書提供了學習大數據技術及架構的一站式解決方案,覆蓋了大數據生態圈中的完整技術體系,包括數據採集、數據存儲、分佈式資源管理、數據計算、數據分析、任務調度、數據檢索、大數據底層基礎技術和大數據集群安裝與管理。本書還介紹了多個企業級大數據應用案例(包括海量數據採集、“雙十一”數據大屏、海量數據全文搜索系統等)和大數據平臺架構案例(包括離線數據倉庫架構、實時數據倉庫架構、批流一體化數據倉庫架構、數據中台架構、直播大數據平臺架構、電商大數據平臺架構等),可以幫助讀者從全局角度理解大數據。在本書中,技術內容基本上都是從零講起的,結合原理和架構,以“圖解+實戰”的形式幫助讀者輕松理解復雜的知識。

目錄大綱

基礎篇
●第1章大數據的前世今生 2
1.1 什麼是大數據 2
1.2 大數據產生的背景 3
1.3 大數據的4V特徵 3
1.4 大數據的典型應用場景 4
1.5 大數據生態圈核心技術總覽 7

技術篇
●第2章海量數據採集 9
2.1 為什麼需要數據採集 9
2.2 數據形態 9
2.3 數據來源 11
2.4 數據採集規則 11
2.5 日誌數據採集工具 13
2.5.1 對比常見的日誌數據採集工具 13
2.5.2 Flume的原理及架構分析 14
2.5.3 Flume的應用 17
-安裝Flume 17
-Hello World 17
-【實戰】日誌匯總採集 23
2.5.4 Logstash的原理及架構分析 28
2.5.5 Logstash的應用 30
-安裝Logstash 31
-【實戰】Hello World案例 31
-【實戰】採集異常日誌案例 34
2.5.6 Filebeat的原理及架構分析 38
- Filebeat的由來 38
-原理及架構分析 39
2.5.7 Filebeat的應用 42
- 安裝Filebeat 42
-【實戰】採集應用程序日誌 43
2.6 數據庫數據採集工具 46
2.6.1 對比常見的數據庫數據採集工具 46
-數據庫離線數據採集工具 46
-數據庫實時數據採集工具 47
2.6.2 Sqoop的原理及架構分析 49
2.6.3 DataX的原理及架構分析 53
2.6.4 Sqoop的應用 55
-安裝Sqoop 55
-Sqoop常見參數 57
-【實戰】導入數據 59
-【實戰】導出數據 61
-【實戰】封裝Sqoop腳本 63
2.6.5 Canal的原理及架構分析 64
2.6.6 Maxwell的原理及架構分析 65
2.6.7 Maxwell的應用 66
-安裝Maxwell 66
-【實戰】採集MySQL數據庫的實時數據 67
2.7 網頁數據採集工具 71
2.7.1 常見的網頁數據採集工具 71
2.7.2 網頁數據採集工具的原理及架構分析 71
2.8 物聯網數據採集工具 73
2.8.1 什麼是物聯網數據採集 73
2.8.2 如何實現物聯網數據採集 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
-【實戰】生產者的使用 81
-【實戰】消費者的使用 82
2.9.5 Filebeat + Flume + Kafka的典型架構分析 82
-數據採集聚合層 83
-數據分發層 83
-數據落盤層 84

● 第3章海量數據存儲 85
3.1 海量數據存儲的演進之路 85
3.2 分佈式文件存儲之HDFS 86
3.2.1 HDFS的前世今生 86
3.2.2 HDFS的原理及架構分析 87
3.2.3 常見的分佈式文件系統 90
3.2.4 安裝Hadoop集群 91
3.2.5 安裝Hadoop客戶端 102
3.2.6 HDFS的應用 104
-HDFS常用命令的使用 105
-【實戰】統計HDFS中的文件 107
3.3 NoSQL數據庫之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
-【實戰】使用Shell命令行操作HBase 121
-【實戰】使用Java API操作HBase 132
3.4 NoSQL數據庫之Redis 136
3.4.1 Redis的產生背景 136
3.4.2 Redis的發展歷程 137
3.4.3 Redis的原理及架構分析 137
3.4.4 Redis的應用 142
-安裝Redis 142
-【實戰】Redis常見命令的使用 144
-【實戰】存儲一個班的學員信息 154
-【實戰】使用Java代碼操作Redis 155

●第4章離線數據計算 158
4.1 離線數據計算引擎的發展之路 158
4.2 離線計算引擎MapReduce 160
4.2.1 MapReduce的前世今生 160
4.2.2 MapReduce核心原理及架構分析 161
4.2.3 【實戰】MapReduce離線數據計算——計算文件中每個單詞出現的總次數 170
4.3 離線計算引擎Spark 176
4.3.1 Spark可以取代Hadoop嗎 176
4.3.2 Spark核心原理及架構分析 177
4.3.3 【實戰】Spark離線數據計算——計算文件中每個單詞出現的總次數 184
4.3.4 Spark中核心算子介紹及使用 189

●第5章實時數據計算 207
5.1 從離線數據計算到實時數據計算 207
5.2 實時數據計算引擎的演進之路 208
5.3 實時數據計算引擎的技術選型 209
5.4 實時計算引擎Storm 211
5.4.1 Storm的原理及架構分析 211
5.4.2 安裝Storm集群 216
5.4.3 【實戰】Storm實時數據計算 220
-實時清洗訂單數據(實時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 【實戰】Spark Streaming實時數據計算 230
5.6 新一代實時計算引擎Flink 237
5.6.1 Flink的原理及架構分析 237
5.6.2 Flink中核心算子的使用 244
5.6.3 【實戰】Flink實時數據計算 251
5.6.4 【實戰】利用Flink + DataV實現“雙十一”數據大屏 261

●第6章OLAP數據分析 274
6.1 OLAP起源及現狀 274
6.2 OLAP引擎的分類 278
6.2.1 從數據建模方式分類 278
6.2.2 從數據處理時效分類 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
-【實戰】Hive中數據庫和表的操作 310
-【實戰】Hive中的數據類型 314
-【實戰】Hive中的表類型 318
-【實戰】Hive中的視圖 324
-【實戰】Hive中的高級函數 324
-【實戰】Hive中的排序語句 327
6.7 【實戰】Hive離線數據統計分析 329
6.7.1 需求及架構分析 329
6.7.2 核心步驟實現 330

●第7章海量數據全文檢索引擎 336
7.1 大數據時代全文檢索引擎的發展之路 336
7.1.1 全文檢索引擎的發展 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集群的監控管理工具 356
7.3.2 Elasticsearch核心功能的使用 359
-Elasticsearch的常見操作 359
-【實戰】Elasticsearch集成中文分詞器 371
-【實戰】Elasticsearch自定義詞庫 379
-【實戰】Elasticsearch查詢詳解 383
-【實戰】Elasticsearch SQL的使用 387
7.4 【實戰】基於Elasticsearch + HBase構建全文搜索系統 390
7.4.1 全文搜索系統需求分析 390
7.4.2 系統架構流程設計 391
7.4.3 開發全文搜索系統 394

●第8章分佈式任務調度系統 411
8.1 任務調度系統的作用 411
8.2 傳統任務調度系統Crontab的痛點 411
8.3 分佈式任務調度系統原理與架構分析 412
8.3.1 常見的分佈式任務調度系統 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 【實戰】配置一個定時執行的獨立任務 424
8.4.3 【實戰】配置一個帶有多級依賴的任務 432
8.5 【實戰】Azkaban在數據倉庫中的應用 435
8.5.1 創建Job文件並進行壓縮 436
8.5.2 在Azkaban中創建項目並上傳gmv_calc.zip 441
8.5.3 給Azkaban中的任務設置定時執行 441

●第9章分佈式資源管理 444
9.1 分佈式資源管理 444
9.2 YARN的原理及架構分析 445
9.3 YARN中的資源調度器 448
9.4 【實戰】配置和使用YARN多資源隊列 450

●第10章大數據平台搭建工具 456
10.1 如何快速搭建大數據平台 456
10.2 了解常見的大數據平台工具 457
10.2.1 大數據平台工具HDP 457
10.2.2 大數據平台工具CDH 458
10.2.3 大數據平台工具CDP 460

架構篇
●第11章數據倉庫架構演進之路 463
11.1 什麼是數據倉庫 463
11.2 為什麼需要數據倉庫 464
11.3 數據倉庫的基礎知識 465
11.3.1 事實表和維度表 465
11.3.2 數據庫三範式 466
11.3.3 數據倉庫建模方式 467
11.3.4 維度建模模型 468
11.4 數據倉庫分層 469
11.4.1 數據分層設計 470
11.4.2 數據倉庫命名規範 471
11.5 數據倉庫架構設計 471
11.5.1 離線數據倉庫架構 472
11.5.2 實時數據倉庫架構 472

●第12章數據中台架構演進之路 475
12.1 什麼是中台 475
12.2 什麼是數據中台 477
12.3 數據中台演進過程 478
12.4 數據中台架構 479
12.4.1 採 480
12.4.2 存 480
12.4.3 通 481
12.4.4 用 481

●第13章典型行業大數據架構分析 482
13.1 直播大數據平台架構分析 482
13.2 電商大數據平台架構分析 483
13.3 金融大數據平台架構分析 484
13.4 交通大數據平台架構分析 485
13.5 遊戲大數據平台架構分析 486