劍指大數據 — 企業級數據倉庫項目實戰 (電商版)

尚硅谷教育

  • 出版商: 電子工業
  • 出版日期: 2022-08-01
  • 定價: $1,008
  • 售價: 8.5$857
  • 語言: 簡體中文
  • 頁數: 564
  • ISBN: 7121440407
  • ISBN-13: 9787121440403
  • 相關分類: 大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

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

商品描述

本書按照需求規劃、需求實現、可視化的流程進行編排,通過項目開發的主要流程,介紹數據倉庫的搭建過程。在整個數據倉庫的搭建過程中,本書介紹了主要組件的安裝部署、需求實現的具體思路,以及各種問題的解決方案等,並在其中穿插了許多與大數據和數據倉庫相關的理論知識,包括數據倉庫的概念、電商業務概述、數據倉庫理論和數據倉庫建模等。 本書共14章,其中,第1~3章是項目的前期準備階段,主要介紹了數據倉庫的概念和搭建需求,並初步搭建了本數據倉庫項目所需的基本環境;第4~7章是項目的核心部分,詳細介紹了數據倉庫的建模理論,並完成了數據從採集到分層搭建的全過程,是本書的重點部分;第8~14章是對數據治理各功能模塊的實現,針對數據治理的不同功能需求分模塊進行實現。 本書適合具有一定編程基礎並對大數據感興趣的讀者閱讀。通過學習本書,讀者可以快速瞭解數據倉庫,全面掌握數據倉庫相關技術。

目錄大綱

第1章數據倉庫概論 1
1.1 數據倉庫的概念與特點 1
1.2 數據倉庫的演進過程 2
1.3 數據倉庫技術 3
1.4 數據倉庫基本架構 5
1.5 數據庫和數據倉庫的區別 8
1.6 學前導讀 9
1.6.1 學習的基礎要求 9
1.6.2 你將學到什麼 9
1.7 本章總結 10

第2章項目需求描述 11
2.1 前期調研 11
2.2 項目架構分析 12
2.2.1 電商數據倉庫產品描述 12
2.2.2 系統功能結構 13
2.2.3 系統流程圖 14
2.3 項目業務概述 14
2.3.1 採集模塊業務描述 14
2.3.2 數據倉庫需求業務描述 15
2.3.3 數據可視化業務描述 17
2.3.4 即席查詢業務描述 17
2.3.5 數據治理業務描述 18
2.4 系統運行環境 19
2.4.1 硬件環境 19
2.4.2 軟件環境 20
2.5 本章總結 22

第3章項目部署的環境準備 23
3.1 Linux環境準備 23
3.1.1 VMware安裝 23
3.1.2 CentOS安裝 23
3.1.3 遠程終端安裝 31
3.2 Linux環境配置 35
3.2.1 網絡配置 35
3.2.2 網絡IP地址配置 36
3.2.3 主機名配置 36
3.2.4 防火牆配置 37
3.2.5 一般用戶設置 38
3.3 Hadoop環境搭建 38
3.3.1 虛擬機環境準備 38
3.3.2 JDK安裝 43
3.3.3 Hadoop安裝 44
3.3.4 Hadoop分佈式集群部署 45
3.4 本章總結 51

第4章用戶行為數據採集模塊 52
4.1 日誌生成 52
4.1.1 數據埋點 52
4.1.2 用戶行為日誌內容 52
4.1.3 用戶行為日誌格式 54
4.1.4 數據模擬 58
4.2 消息隊列Kafka 61
4.2.1 ZooKeeper安裝 61
4.2.2 ZooKeeper集群啟動、停止腳本 63
4.2.3 Kafka安裝 64
4.2.4 Kafka Eagle安裝 65
4.2.5 Kafka集群啟動、停止腳本 67
4.2.6 Kafka topic相關操作 68
4.3 採集日誌的Flume 68
4.3.1 Flume組件 69
4.3.2 Flume安裝 69
4.3.3 採集日誌的Flume配置 70
4.3.4 Flume的攔截器 71
4.3.5 採集日誌的Flume啟動、停止腳本 75
4.4 消費日誌的Flume 76
4.4.1 消費日誌的Flume配置 77
4.4.2 時間戳攔截器 78
4.4.3 消費日誌的Flume啟動、停止腳本 80
4.4.4 數據通道測試 81
4.5 採集通道啟動、停止腳本 81
4.6 本章總結 83

第5章業務數據採集模塊 84
5.1 電商業務概述 84
5.1.1 電商業務流程 84
5.1.2 電商常識 85
5.1.3 電商業務表結構 85
5.1.4 數據同步策略 95
5.1.5 數據同步工具選擇 97
5.2 業務數據採集 97
5.2.1 MySQL安裝 97
5.2.2 業務數據生成 99
5.2.3 業務數據模型梳理 102
5.2.4 DataX安裝 106
5.2.5 Maxwell安裝 108
5.2.6 全量同步 112
5.2.7 增量同步 122
5.3 本章總結 130

第6章數據倉庫搭建模塊 131
6.1 數據倉庫理論準備 131
6.1.1 數據建模概述 131
6.1.2 關係模型與範式理論 132
6.1.3 維度模型 135
6.1.4 維度建模理論之事實表 136
6.1.5 維度建模理論之維度表 139
6.1.6 雪花模型、星形模型與星座模型 142
6.2 數據倉庫建模實踐 144
6.2.1 名詞概念 144
6.2.2 為什麼要分層 145
6.2.3 數據倉庫搭建流程 146
6.2.4 數據倉庫開發規範 153
6.3 數據倉庫搭建環境準備 157
6.3.1 Hive安裝 157
6.3.2 Hive on Spark配置 160
6.3.3 YARN容量調度器並發度問題 162
6.3.4 數據倉庫開發環境配置 162
6.3.5 模擬數據準備 166
6.3.6 常用函數 168
6.3.7 複雜數據類型 169
6.4 數據倉庫搭建——ODS層 170
6.4.1 用戶行為數據 171
6.4.2 ODS層用戶行為數據導入腳本 172
6.4.3 業務數據 173
6.4.4 ODS層業務數據導入腳本 183
6.5 數據倉庫搭建——DIM層 186
6.5.1 商品維度表(全量) 186
6.5.2 優惠券維度表(全量) 189
6.5.3 活動維度表(全量) 191
6.5.4 地區維度表(全量) 193
6.5.5 時間維度表(特殊) 194
6.5.6 用戶維度表(拉鍊表) 195
6.5.7 DIM層首日數據裝載腳本 199
6.5.8 DIM層每日數據裝載腳本 199
6.6 數據倉庫搭建——DWD層 199
6.6.1 交易域加購物車事務事實表 200
6.6.2 交易域下單事務事實表 204
6.6.3 交易域取消訂單事務事實表 209
6.6.4 交易域支付成功事務事實表 214
6.6.5 交易域退單事務事實表 220
6.6.6 交易域退款成功事務事實表 224
6.6.7 交易域購物車週期快照事實表 227
6.6.8 工具域優惠券領取事務事實表 228
6.6.9 工具域優惠券使用(下單)事務事實表 229
6.6.10 工具域優惠券使用(支付)事務事實表 230
6.6.11 互動域收藏事務事實表 232
6.6.12 互動域評價事務事實表 233
6.6.13 流量域頁面瀏覽事務事實表 235
6.6.14 流量域啟動事務事實表 238
6.6.15 流量域動作事務事實表 240
6.6.16 流量域曝光事務事實表 243
6.6.17 流量域錯誤事務事實表 245
6.6.18 用戶域註冊事務事實表 248
6.6.19 用戶域登錄事務事實表 251
6.6.20 DWD層首日業務數據裝載腳本 254
6.6.21 DWD層每日業務數據裝載腳本 254
6.7 數據倉庫搭建——DWS層 255
6.7.1 最近1日匯總表 256
6.7.2 最近n日匯總表 269
6.7.3 歷史至今匯總表 279
6.8 數據倉庫搭建——ADS層 283
6.8.1 流量主題指標 283
6.8.2 用戶主題指標 286
6.8.3 商品主題指標 294
6.8.4 交易主題指標 302
6.8.5 優惠券主題指標 306
6.8.6 活動主題指標 307
6.8.7 ADS層數據導入腳本 307
6.9 數據模型評估及優化 308
6.10 本章總結 308

第7章DolphinScheduler全流程調度 309
7.1 DolphinScheduler概述與安裝部署 309
7.1.1 DolphinScheduler概述 309
7.1.2 DolphinScheduler安裝部署 310
7.2 創建MySQL數據庫和表 317
7.3 DataX數據導出 322
7.4 全流程調度 329
7.4.1 數據準備 329
7.4.2 全流程調度配置 330
7.5 電子郵件報警 337
7.5.1 註冊郵箱 337
7.5.2 配置電子郵件報警 339
7.6 本章總結 341

第8章數據可視化模塊 342
8.1 Superset部署 342
8.1.1 環境準備 342
8.1.2 Superset安裝 344
8.2 Superset使用 347
8.2.1 對接MySQL數據源 347
8.2.2 製作儀錶盤 350
8.3 Superset實戰 354
8.3.1 製作柱狀圖 354
8.3.2 製作旭日圖 355
8.3.3 製作桑基圖 357
8.3.4 合成儀錶盤頁面 358
8.4 ECharts可視化 359
8.5 本章總結 361

第9章即席查詢模塊 362
9.1 Presto 362
9.1.1 Presto簡介 362
9.1.2 Presto安裝 363
9.1.3 Presto優化之數據存儲 367
9.1.4 Presto優化之SQL查詢語句 367
9.1.5 Presto注意事項 368
9.2 Kylin 368
9.2.1 Kylin簡介 368
9.2.2 HBase安裝 370
9.2.3 Kylin安裝 371
9.2.4 Kylin使用 373
9.2.5 Kylin Cube構建原理 384
9.2.6 Kylin Cube存儲原理 387
9.2.7 Kylin Cube構建優化 388
9.2.8 Kylin BI工具集成 392
9.3 即席查詢框架對比 398
9.4 本章總結 399

第10章集群監控模塊 400
10.1 Zabbix入門 400
10.2 Zabbix部署 401
10.2.1 集群規劃 401
10.2.2 準備工作 401
10.2.3 配置Zabbix yum源 402
10.2.4 安裝並配置Zabbix 404
10.2.5 啟動、停止Zabbix 405
10.3 Zabbix使用 409
10.3.1 術語介紹 410
10.3.2 Zabbix實戰 410
10.3.3 創建模板 422
10.4 Grafana 427
10.4.1 Grafana安裝部署 427
10.4.2 快速入門 428
10.4.3 集成Zabbix 430
10.5 本章總結 439

第11章安全認證模塊 440
11.1 Kerberos入門 440
11.1.1 Kerberos概述 440
11.1.2 Kerberos認證原理 440
11.2 Kerberos安裝 441
11.2.1 安裝Kerberos相關服務 441
11.2.2 修改配置文件 441
11.2.3 初始化KDC數據庫 442
11.2.4 修改管理員權限配置文件 442
11.2.5 啟動Kerberos相關服務 443
11.2.6 創建Kerberos管理員用戶 443
11.3 Kerberos操作 443
11.3.1 Kerberos數據庫操作 443
11.3.2 Kerberos認證操作 444
11.4 Hadoop集成Kerberos 444
11.4.1 創建Hadoop系統用戶 444
11.4.2 為Hadoop各服務創建Kerberos主體(Principal) 445
11.4.3 修改Hadoop配置文件 448
11.4.4 配置HDFS使用HTTPS協議 452
11.4.5 配置YARN使用LinuxContainerExecutor 453
11.5 在安全認證模式下啟動Hadoop集群 455
11.5.1 修改本地特定路徑訪問權限 455
11.5.2 啟動HDFS 456
11.5.3 修改HDFS特定路徑訪問權限 457
11.5.4 啟動YARN 458
11.5.5 啟動HistoryServer 458
11.6 在安全認證模式下操作Hadoop集群 459
11.6.1 用戶要求 459
11.6.2 HDFS操作 459
11.6.3 MapReduce任務提交 463
11.7 Hive集成Kerberos 463
11.7.1 配置要求 463
11.7.2 配置認證 464
11.7.3 啟動HiveServer2服務 465
11.8 在安全認證模式下操作Hive 465
11.8.1 Beeline客戶端 465
11.8.2 DataGrip客戶端 465
11.9 在安全認證模式下執行數據倉庫全流程調度 469
11.9.1 用戶準備 469
11.9.2 修改數據採集通道 470
11.9.3 修改數據倉庫各層腳本 473
11.9.4 修改數據導出DataX配置文件 474
11.9.5 修改HDFS特定路徑的所有者 477
11.9.6 全流程數據準備 477
11.9.7 DolphinScheduler集成Kerberos 478
11.9.8 全流程調度 479
11.10 Presto集成Kerberos 482
11.10.1 用戶準備 482
11.10.2 創建HTTPS協議所需的密鑰對 482
11.10.3 修改Presto Coordinator配置文件 483
11.10.4 修改Hive Connector配置文件 483
11.10.5 配置客戶端Kerberos主體到用戶名之間的映射規則 483
11.10.6 配置Presto代理用戶 484
11.10.7 重啟Presto集群 484
11.10.8 在安全認證模式下操作Presto 485
11.11 Kylin集成Kerberos 485
11.11.1 Kerberos集成HBase 485
11.11.2 Kerberos集成Kylin 487
11.12 本章總結 488

第12章權限管理模塊 489
12.1 Ranger入門 489
12.1.1 Ranger概述 489
12.1.2 Ranger架構原理 489
12.2 Ranger安裝部署 490
12.2.1 RangerAdmin安裝與配置 490
12.2.2 RangerUsersync安裝與配置 493
12.2.3 Ranger Hive-plugin安裝與配置 495
12.3 使用Ranger對Hive進行權限管理 501
12.3.1 權限控制初體驗 501
12.3.2 Ranger的權限管理模型 503
12.4 本章總結 503

第13章元數據管理模塊 504
13.1 Atlas入門 504
13.1.1 元數據管理概述 504
13.1.2 Atlas概述 505
13.1.3 Atlas架構原理 505
13.2 Atlas安裝及啟動 506
13.2.1 安裝前環境準備 507
13.2.2 集成外部框架 509
13.2.3 Atlas Server配置 509
13.2.4 Kerberos相關配置 510
13.2.5 Atlas集成Hive 510
13.2.6 Atlas啟動 511
13.3 Atlas使用 512
13.3.1 Hive元數據初次全量導入 512
13.3.2 Hive元數據增量同步 513
13.3.3 編譯Atlas源碼包 516
13.4 本章總結 518

第14章數據質量 519
14.1 數據質量管理概述 519
14.1.1 數據質量管理定義 519
14.1.2 數據質量評估 519
14.2 數據質量監控需求 520
14.3 開發環境準備 520
14.3.1 Python環境準備 520
14.3.2 初始化MySQL環境 526
14.4 編寫及集成檢查規則腳本 528
14.4.1 編寫檢查規則腳本 528
14.4.2 集成檢查規則腳本 535
14.5 編寫報警腳本 537
14.6 調度模塊 541
14.6.1 在Worker節點上安裝MySQL客戶端 541
14.6.2 配置工作流 542
14.7 可視化模塊 547
14.8 本章總結 552