劍指大數(shù)據(jù)——企業(yè)級數(shù)據(jù)倉庫項目實戰(zhàn)(電商版)
定 價:168 元
叢書名:程序員硬核技術叢書
- 作者:尚硅谷教育
- 出版時間:2022/8/1
- ISBN:9787121440403
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.13
- 頁碼:564
- 紙張:
- 版次:01
- 開本:16開
本書按照需求規(guī)劃、需求實現(xiàn)、可視化的流程進行編排,通過項目開發(fā)的主要流程,介紹數(shù)據(jù)倉庫的搭建過程。在整個數(shù)據(jù)倉庫的搭建過程中,本書介紹了主要組件的安裝部署、需求實現(xiàn)的具體思路,以及各種問題的解決方案等,并在其中穿插了許多與大數(shù)據(jù)和數(shù)據(jù)倉庫相關的理論知識,包括數(shù)據(jù)倉庫的概念、電商業(yè)務概述、數(shù)據(jù)倉庫理論和數(shù)據(jù)倉庫建模等。 本書共14章,其中,第1~3章是項目的前期準備階段,主要介紹了數(shù)據(jù)倉庫的概念和搭建需求,并初步搭建了本數(shù)據(jù)倉庫項目所需的基本環(huán)境;第4~7章是項目的核心部分,詳細介紹了數(shù)據(jù)倉庫的建模理論,并完成了數(shù)據(jù)從采集到分層搭建的全過程,是本書的重點部分;第8~14章是對數(shù)據(jù)治理各功能模塊的實現(xiàn),針對數(shù)據(jù)治理的不同功能需求分模塊進行實現(xiàn)。 本書適合具有一定編程基礎并對大數(shù)據(jù)感興趣的讀者閱讀。通過學習本書,讀者可以快速了解數(shù)據(jù)倉庫,全面掌握數(shù)據(jù)倉庫相關技術。
尚硅谷教育是一家專業(yè)的IT教育培訓機構(gòu),開設了JavaEE、大數(shù)據(jù)、HTML5前端等多門學科,在互聯(lián)網(wǎng)上發(fā)布的JavaEE、大數(shù)據(jù)、HTML5前端、區(qū)塊鏈、C語言、Python等技術視頻教程廣受贊譽。
目錄
第1章 數(shù)據(jù)倉庫概論 1
1.1 數(shù)據(jù)倉庫的概念與特點 1
1.2 數(shù)據(jù)倉庫的演進過程 2
1.3 數(shù)據(jù)倉庫技術 3
1.4 數(shù)據(jù)倉庫基本架構(gòu) 5
1.5 數(shù)據(jù)庫和數(shù)據(jù)倉庫的區(qū)別 8
1.6 學前導讀 9
1.6.1 學習的基礎要求 9
1.6.2 你將學到什么 9
1.7 本章總結(jié) 10
第2章 項目需求描述 11
2.1 前期調(diào)研 11
2.2 項目架構(gòu)分析 12
2.2.1 電商數(shù)據(jù)倉庫產(chǎn)品描述 12
2.2.2 系統(tǒng)功能結(jié)構(gòu) 13
2.2.3 系統(tǒng)流程圖 14
2.3 項目業(yè)務概述 14
2.3.1 采集模塊業(yè)務描述 14
2.3.2 數(shù)據(jù)倉庫需求業(yè)務描述 15
2.3.3 數(shù)據(jù)可視化業(yè)務描述 17
2.3.4 即席查詢業(yè)務描述 17
2.3.5 數(shù)據(jù)治理業(yè)務描述 18
2.4 系統(tǒng)運行環(huán)境 19
2.4.1 硬件環(huán)境 19
2.4.2 軟件環(huán)境 20
2.5 本章總結(jié) 22
第3章 項目部署的環(huán)境準備 23
3.1 Linux環(huán)境準備 23
3.1.1 VMware安裝 23
3.1.2 CentOS安裝 23
3.1.3 遠程終端安裝 31
3.2 Linux環(huán)境配置 35
3.2.1 網(wǎng)絡配置 35
3.2.2 網(wǎng)絡IP地址配置 36
3.2.3 主機名配置 36
3.2.4 防火墻配置 37
3.2.5 一般用戶設置 38
3.3 Hadoop環(huán)境搭建 38
3.3.1 虛擬機環(huán)境準備 38
3.3.2 JDK安裝 43
3.3.3 Hadoop安裝 44
3.3.4 Hadoop分布式集群部署 45
3.4 本章總結(jié) 51
第4章 用戶行為數(shù)據(jù)采集模塊 52
4.1 日志生成 52
4.1.1 數(shù)據(jù)埋點 52
4.1.2 用戶行為日志內(nèi)容 52
4.1.3 用戶行為日志格式 54
4.1.4 數(shù)據(jù)模擬 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 數(shù)據(jù)通道測試 81
4.5 采集通道啟動、停止腳本 81
4.6 本章總結(jié) 83
第5章 業(yè)務數(shù)據(jù)采集模塊 84
5.1 電商業(yè)務概述 84
5.1.1 電商業(yè)務流程 84
5.1.2 電商常識 85
5.1.3 電商業(yè)務表結(jié)構(gòu) 85
5.1.4 數(shù)據(jù)同步策略 95
5.1.5 數(shù)據(jù)同步工具選擇 97
5.2 業(yè)務數(shù)據(jù)采集 97
5.2.1 MySQL安裝 97
5.2.2 業(yè)務數(shù)據(jù)生成 99
5.2.3 業(yè)務數(shù)據(jù)模型梳理 102
5.2.4 DataX安裝 106
5.2.5 Maxwell安裝 108
5.2.6 全量同步 112
5.2.7 增量同步 122
5.3 本章總結(jié) 130
第6章 數(shù)據(jù)倉庫搭建模塊 131
6.1 數(shù)據(jù)倉庫理論準備 131
6.1.1 數(shù)據(jù)建模概述 131
6.1.2 關系模型與范式理論 132
6.1.3 維度模型 135
6.1.4 維度建模理論之事實表 136
6.1.5 維度建模理論之維度表 139
6.1.6 雪花模型、星形模型與星座模型 142
6.2 數(shù)據(jù)倉庫建模實踐 144
6.2.1 名詞概念 144
6.2.2 為什么要分層 145
6.2.3 數(shù)據(jù)倉庫搭建流程 146
6.2.4 數(shù)據(jù)倉庫開發(fā)規(guī)范 153
6.3 數(shù)據(jù)倉庫搭建環(huán)境準備 157
6.3.1 Hive安裝 157
6.3.2 Hive on Spark配置 160
6.3.3 YARN容量調(diào)度器并發(fā)度問題 162
6.3.4 數(shù)據(jù)倉庫開發(fā)環(huán)境配置 162
6.3.5 模擬數(shù)據(jù)準備 166
6.3.6 常用函數(shù) 168
6.3.7 復雜數(shù)據(jù)類型 169
6.4 數(shù)據(jù)倉庫搭建——ODS層 170
6.4.1 用戶行為數(shù)據(jù) 171
6.4.2 ODS層用戶行為數(shù)據(jù)導入腳本 172
6.4.3 業(yè)務數(shù)據(jù) 173
6.4.4 ODS層業(yè)務數(shù)據(jù)導入腳本 183
6.5 數(shù)據(jù)倉庫搭建——DIM層 186
6.5.1 商品維度表(全量) 186
6.5.2 優(yōu)惠券維度表(全量) 189
6.5.3 活動維度表(全量) 191
6.5.4 地區(qū)維度表(全量) 193
6.5.5 時間維度表(特殊) 194
6.5.6 用戶維度表(拉鏈表) 195
6.5.7 DIM層首日數(shù)據(jù)裝載腳本 199
6.5.8 DIM層每日數(shù)據(jù)裝載腳本 199
6.6 數(shù)據(jù)倉庫搭建——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 工具域優(yōu)惠券領取事務事實表 228
6.6.9 工具域優(yōu)惠券使用(下單)事務事實表 229
6.6.10 工具域優(yōu)惠券使用(支付)事務事實表 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層首日業(yè)務數(shù)據(jù)裝載腳本 254
6.6.21 DWD層每日業(yè)務數(shù)據(jù)裝載腳本 254
6.7 數(shù)據(jù)倉庫搭建——DWS層 255
6.7.1 最近1日匯總表 256
6.7.2 最近n日匯總表 269
6.7.3 歷史至今匯總表 279
6.8 數(shù)據(jù)倉庫搭建——ADS層 283
6.8.1 流量主題指標 283
6.8.2 用戶主題指標 286
6.8.3 商品主題指標 294
6.8.4 交易主題指標 302
6.8.5 優(yōu)惠券主題指標 306
6.8.6 活動主題指標 307
6.8.7 ADS層數(shù)據(jù)導入腳本 307
6.9 數(shù)據(jù)模型評估及優(yōu)化 308
6.10 本章總結(jié) 308
第7章 DolphinScheduler全流程調(diào)度 309
7.1 DolphinScheduler概述與安裝部署 309
7.1.1 DolphinScheduler概述 309
7.1.2 DolphinScheduler安裝部署 310
7.2 創(chuàng)建MySQL數(shù)據(jù)庫和表 317
7.3 DataX數(shù)據(jù)導出 322
7.4 全流程調(diào)度 329
7.4.1 數(shù)據(jù)準備 329
7.4.2 全流程調(diào)度配置 330
7.5 電子郵件報警 337
7.5.1 注冊郵箱 337
7.5.2 配置電子郵件報警 339
7.6 本章總結(jié) 341
第8章 數(shù)據(jù)可視化模塊 342
8.1 Superset部署 342
8.1.1 環(huán)境準備 342
8.1.2 Superset安裝 344
8.2 Superset使用 347
8.2.1 對接MySQL數(shù)據(jù)源 347
8.2.2 制作儀表盤 350
8.3 Superset實戰(zhàn) 354
8.3.1 制作柱狀圖 354
8.3.2 制作旭日圖 355
8.3.3 制作;鶊D 357
8.3.4 合成儀表盤頁面 358
8.4 ECharts可視化 359
8.5 本章總結(jié) 361
第9章 即席查詢模塊 362
9.1 Presto 362
9.1.1 Presto簡介 362
9.1.2 Presto安裝 363
9.1.3 Presto優(yōu)化之數(shù)據(jù)存儲 367
9.1.4 Presto優(yōu)化之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構(gòu)建原理 384
9.2.6 Kylin Cube存儲原理 387
9.2.7 Kylin Cube構(gòu)建優(yōu)化 388
9.2.8 Kylin BI工具集成 392
9.3 即席查詢框架對比 398
9.4 本章總結(jié) 399
第10章 集群監(jiān)控模塊 400
10.1 Zabbix入門 400
10.2 Zabbix部署 401
10.2.1 集群規(guī)劃 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實戰(zhàn) 410
10.3.3 創(chuàng)建模板 422
10.4 Grafana 427
10.4.1 Grafana安裝部署 427
10.4.2 快速入門 428
10.4.3 集成Zabbix 430
10.5 本章總結(jié) 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數(shù)據(jù)庫 442
11.2.4 修改管理員權限配置文件 442
11.2.5 啟動Kerberos相關服務 443
11.2.6 創(chuàng)建Kerberos管理員用戶 443
11.3 Kerberos操作 443
11.3.1 Kerberos數(shù)據(jù)庫操作 443
11.3.2 Kerberos認證操作 444
11.4 Hadoop集成Kerberos 444
11.4.1 創(chuàng)建Hadoop系統(tǒng)用戶 444
11.4.2 為Hadoop各服務創(chuàng)建Kerberos主體(Principal) 445
11.4.3 修改Hadoop配置文件 448
11.4.4 配置HDFS使用HTTPS協(xié)議 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 在安全認證模式下執(zhí)行數(shù)據(jù)倉庫全流程調(diào)度 469
11.9.1 用戶準備 469
11.9.2 修改數(shù)據(jù)采集通道 470
11.9.3 修改數(shù)據(jù)倉庫各層腳本 473
11.9.4 修改數(shù)據(jù)導出DataX配置文件 474
11.9.5 修改HDFS特定路徑的所有者 477
11.9.6 全流程數(shù)據(jù)準備 477
11.9.7 DolphinScheduler集成Kerberos 478
11.9.8 全流程調(diào)度 479
11.10 Presto集成Kerberos 482
11.10.1 用戶準備 482
11.10.2 創(chuàng)建HTTPS協(xié)議所需的密鑰對 482
11.10.3 修改Presto Coordinator配置文件 483
11.10.4 修改Hive Connector配置文件 483
11.10.5 配置客戶端Kerberos主體到用戶名之間的映射規(guī)則 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 本章總結(jié) 488
第12章 權限管理模塊 489
12.1 Ranger入門 489
12.1.1 Ranger概述 489
12.1.2 Ranger架構(gòu)原理 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 本章總結(jié) 503
第13章 元數(shù)據(jù)管理模塊 504
13.1 Atlas入門 504
13.1.1 元數(shù)據(jù)管理概述 504
13.1.2 Atlas概述 505
13.1.3 Atlas架構(gòu)原理 505
13.2 Atlas安裝及啟動 506
13.2.1 安裝前環(huán)境準備 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元數(shù)據(jù)初次全量導入 512
13.3.2 Hive元數(shù)據(jù)增量同步 513
13.3.3 編譯Atlas源碼包 516
13.4 本章總結(jié) 518
第14章 數(shù)據(jù)質(zhì)量 519
14.1 數(shù)據(jù)質(zhì)量管理概述 519
14.1.1 數(shù)據(jù)質(zhì)量管理定義 519
14.1.2 數(shù)據(jù)質(zhì)量評估 519
14.2 數(shù)據(jù)質(zhì)量監(jiān)控需求 520
14.3 開發(fā)環(huán)境準備 520
14.3.1 Python環(huán)境準備 520
14.3.2 初始化MySQL環(huán)境 526
14.4 編寫及集成檢查規(guī)則腳本 528
14.4.1 編寫檢查規(guī)則腳本 528
14.4.2 集成檢查規(guī)則腳本 535
14.5 編寫報警腳本 537
14.6 調(diào)度模塊 541
14.6.1 在Worker節(jié)點上安裝MySQL客戶端 541
14.6.2 配置工作流 542
14.7 可視化模塊 547
14.8 本章總結(jié) 552