劍指大數(shù)據(jù)——企業(yè)級數(shù)據(jù)倉庫項目實戰(zhàn)(在線教育版)
定 價:105 元
叢書名:程序員硬核技術(shù)叢書
- 作者:尚硅谷教育
- 出版時間:2023/8/1
- ISBN:9787121459375
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.13
- 頁碼:360
- 紙張:
- 版次:01
- 開本:16開
本書從需求規(guī)劃、需求實現(xiàn)到可視化展示等,遵循項目開發(fā)的主要流程,全景介紹了在線教育行業(yè)離線數(shù)據(jù)倉庫的搭建過程。在整個數(shù)據(jù)倉庫的搭建過程中,介紹了主要組件的安裝部署、需求實現(xiàn)的具體思路、問題的解決方案等,并在其中穿插了許多大數(shù)據(jù)和數(shù)據(jù)倉庫相關(guān)的理論知識,包括數(shù)據(jù)倉庫的概念介紹、在線教育業(yè)務(wù)概述、數(shù)據(jù)倉庫理論介紹和數(shù)據(jù)倉庫建模等。本書的第1章至第3章是項目前期準(zhǔn)備階段,主要為讀者介紹了數(shù)據(jù)倉庫的概念、應(yīng)用場景和搭建需求等,并初步搭建了數(shù)據(jù)倉庫項目所需的基本環(huán)境;第4章至第6章是數(shù)據(jù)倉庫搭建的核心部分,詳細(xì)講解了數(shù)據(jù)倉庫建模理論和數(shù)據(jù)從采集到分層搭建的全過程;第7章和第8章介紹了全流程調(diào)度和指標(biāo)可視化。本書適合具有一定編程基礎(chǔ)的讀者學(xué)習(xí)。通過閱讀本書,讀者可以快速地了解數(shù)據(jù)倉庫,全面掌握數(shù)據(jù)倉庫的相關(guān)技術(shù)。
尚硅谷教育是一家專業(yè)的IT教育培訓(xùn)機構(gòu),開設(shè)了JavaEE、大數(shù)據(jù)、HTML5前端等多門學(xué)科,在互聯(lián)網(wǎng)上發(fā)布的JavaEE、大數(shù)據(jù)、HTML5前端、區(qū)塊鏈、C語言、Python等技術(shù)視頻教程廣受贊譽。
第1章 大數(shù)據(jù)與數(shù)據(jù)倉庫概論 1
1.1 什么是數(shù)據(jù)倉庫 1
1.2 數(shù)據(jù)倉庫的演進歷史 2
1.3 數(shù)據(jù)倉庫技術(shù) 4
1.4 數(shù)據(jù)倉庫基本架構(gòu) 5
1.5 數(shù)據(jù)庫和數(shù)據(jù)倉庫的區(qū)別 8
1.6 學(xué)前導(dǎo)讀 9
1.6.1 學(xué)習(xí)的基礎(chǔ)要求 9
1.6.2 你將學(xué)到什么 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)流程圖 13
2.3 項目業(yè)務(wù)概述 14
2.3.1 采集模塊業(yè)務(wù)描述 14
2.3.2 數(shù)據(jù)倉庫需求業(yè)務(wù)描述 15
2.3.3 數(shù)據(jù)可視化業(yè)務(wù)描述 16
2.4 系統(tǒng)運行環(huán)境 17
2.4.1 硬件環(huán)境 17
2.4.2 軟件環(huán)境 18
2.5 本章總結(jié) 20
第3章 項目部署的環(huán)境準(zhǔn)備 21
3.1 Linux環(huán)境準(zhǔn)備 21
3.1.1 安裝VMware 21
3.1.2 安裝CentOS 21
3.1.3 遠(yuǎn)程終端安裝 30
3.2 Linux環(huán)境配置 33
3.2.1 網(wǎng)絡(luò)配置 33
3.2.2 網(wǎng)絡(luò)IP地址配置 34
3.2.3 主機名配置 35
3.2.4 防火墻配置 36
3.2.5 一般用戶設(shè)置 36
3.3 Hadoop環(huán)境搭建 37
3.3.1 虛擬機環(huán)境準(zhǔn)備 37
3.3.2 安裝JDK 42
3.3.3 安裝Hadoop 43
3.3.4 Hadoop分布式集群部署 44
3.4 本章總結(jié) 50
第4章 用戶行為數(shù)據(jù)采集模塊 51
4.1 日志生成 51
4.1.1 數(shù)據(jù)埋點 51
4.1.2 用戶行為日志格式 52
4.1.3 安裝MySQL 57
4.1.4 數(shù)據(jù)模擬 59
4.2 消息隊列Kafka 66
4.2.1 安裝ZooKeeper 66
4.2.2 ZooKeeper集群啟動、停止腳本 67
4.2.3 安裝Kafka 68
4.2.4 Kafka集群啟動、停止腳本 70
4.2.5 Kafka topic相關(guān)操作 70
4.3 采集日志的Flume 71
4.3.1 Flume組件 72
4.3.2 安裝Flume 72
4.3.3 采集日志Flume配置 73
4.3.4 Flume的攔截器 74
4.3.5 采集日志Flume啟動、停止腳本 77
4.4 消費Kafka日志的Flume 79
4.4.1 日志消費層Flume配置 79
4.4.2 時間戳攔截器 81
4.4.3 日志消費層Flume啟動、停止腳本 83
4.4.4 數(shù)據(jù)通道測試 83
4.5 采集通道啟動、停止腳本 84
4.6 本章總結(jié) 86
第5章 業(yè)務(wù)數(shù)據(jù)采集模塊 87
5.1 在線教育業(yè)務(wù)概述 87
5.1.1 在線教育業(yè)務(wù)流程 87
5.1.2 在線教育表結(jié)構(gòu) 88
5.1.3 數(shù)據(jù)同步策略 96
5.1.4 數(shù)據(jù)同步工具選擇 98
5.2 業(yè)務(wù)數(shù)據(jù)采集 99
5.2.1 業(yè)務(wù)數(shù)據(jù)模型梳理 99
5.2.2 安裝DataX 102
5.2.3 安裝Maxwell 104
5.2.4 全量數(shù)據(jù)同步 108
5.2.5 增量數(shù)據(jù)同步 116
5.3 數(shù)據(jù)采集流程總結(jié) 126
5.4 本章總結(jié) 129
第6章 數(shù)據(jù)倉庫搭建模塊 130
6.1 數(shù)據(jù)倉庫理論準(zhǔn)備 130
6.1.1 數(shù)據(jù)建模概述 130
6.1.2 關(guān)系模型與范式理論 131
6.1.3 維度模型 134
6.1.4 維度建模理論之事實表 136
6.1.5 維度建模理論之維度表 138
6.1.6 星形模型、雪花模型與星座模型 141
6.2 數(shù)據(jù)倉庫建模實踐 142
6.2.1 名詞概念 142
6.2.2 為什么要分層 144
6.2.3 數(shù)據(jù)倉庫構(gòu)建流程 144
6.2.4 數(shù)據(jù)倉庫開發(fā)規(guī)范 150
6.3 數(shù)據(jù)倉庫搭建環(huán)境準(zhǔn)備 154
6.3.1 安裝Hive 154
6.3.2 Hive on Spark配置 157
6.3.3 YARN容量調(diào)度器并發(fā)度問題 159
6.3.4 數(shù)據(jù)倉庫開發(fā)環(huán)境配置 159
6.3.5 模擬數(shù)據(jù)準(zhǔn)備 162
6.3.6 常用函數(shù) 164
6.3.7 復(fù)雜數(shù)據(jù)類型 166
6.4 數(shù)據(jù)倉庫搭建——ODS層 167
6.4.1 用戶行為數(shù)據(jù) 167
6.4.2 ODS層用戶行為數(shù)據(jù)導(dǎo)入腳本 169
6.4.3 業(yè)務(wù)數(shù)據(jù) 170
6.4.4 ODS層業(yè)務(wù)數(shù)據(jù)導(dǎo)入腳本 179
6.5 數(shù)據(jù)倉庫搭建——DIM層 181
6.5.1 章節(jié)維度表(全量) 181
6.5.2 課程維度表(全量) 182
6.5.3 視頻維度表(全量) 184
6.5.4 試卷維度表(全量) 185
6.5.5 來源維度表(全量) 186
6.5.6 題目維度表(全量) 186
6.5.7 地區(qū)維度表(全量) 187
6.5.8 時間維度表(特殊) 188
6.5.9 用戶維度表(拉鏈表) 189
6.5.10 DIM層首日數(shù)據(jù)裝載腳本 193
6.5.11 DIM層每日數(shù)據(jù)裝載腳本 193
6.6 數(shù)據(jù)倉庫搭建——DWD層 194
6.6.1 交易域加購事務(wù)事實表 194
6.6.2 交易域加購周期快照事實表 197
6.6.3 交易域試聽下單累積快照事實表 198
6.6.4 交易域下單事務(wù)事實表 203
6.6.5 交易域支付成功事務(wù)事實表 208
6.6.6 流量域頁面瀏覽事務(wù)事實表 212
6.6.7 流量域啟動事務(wù)事實表 213
6.6.8 流量域動作事務(wù)事實表 215
6.6.9 流量域曝光事務(wù)事實表 217
6.6.10 流量域錯誤事務(wù)事實表 219
6.6.11 互動域收藏事務(wù)事實表 221
6.6.12 互動域章節(jié)評價事務(wù)事實表 222
6.6.13 互動域課程評價事務(wù)事實表 223
6.6.14 考試域答卷事務(wù)事實表 224
6.6.15 考試域答題事務(wù)事實表 226
6.6.16 學(xué)習(xí)域播放周期快照事實表 227
6.6.17 學(xué)習(xí)域播放事務(wù)事實表 232
6.6.18 用戶域用戶注冊事務(wù)事實表 234
6.6.19 用戶域用戶登錄事務(wù)事實表 237
6.6.20 DWD層首日數(shù)據(jù)裝載腳本 238
6.6.21 DWD層每日數(shù)據(jù)裝載腳本 239
6.7 數(shù)據(jù)倉庫搭建——DWS層 239
6.7.1 最近1日匯總表 240
6.7.2 最近n日匯總表 250
6.7.3 歷史至今匯總表 254
6.8 數(shù)據(jù)倉庫搭建——ADS層 257
6.8.1 流量主題指標(biāo) 257
6.8.2 用戶主題指標(biāo) 262
6.8.3 課程主題指標(biāo) 269
6.8.4 交易主題指標(biāo) 278
6.8.5 考試主題指標(biāo) 280
6.8.6 播放主題指標(biāo) 285
6.8.7 完課主題指標(biāo) 287
6.8.8 ADS層數(shù)據(jù)導(dǎo)入腳本 291
6.9 數(shù)據(jù)模型評價及優(yōu)化 291
6.10 本章總結(jié) 292
第7章 DolphinScheduler全流程調(diào)度 293
7.1 DolphinScheduler概述與安裝 293
7.1.1 DolphinScheduler概述 293
7.1.2 DolphinScheduler安裝部署 294
7.2 報表數(shù)據(jù)導(dǎo)出 300
7.2.1 創(chuàng)建MySQL數(shù)據(jù)庫和表 300
7.2.2 DataX數(shù)據(jù)導(dǎo)出 306
7.3 全調(diào)度流程 316
7.3.1 數(shù)據(jù)準(zhǔn)備 316
7.3.2 全流程調(diào)度配置 316
7.4 郵件報警 324
7.4.1 注冊郵箱 324
7.4.2 配置郵件報警 325
7.5 本章總結(jié) 328
第8章 數(shù)據(jù)可視化模塊 329
8.1 Superset部署 329
8.1.1 環(huán)境準(zhǔn)備 329
8.1.2 Superset安裝 330
8.2 Superset使用 334
8.2.1 對接MySQL數(shù)據(jù)源 334
8.2.2 制作儀表盤 337
8.3 Superset實戰(zhàn) 342
8.3.1 制作餅狀圖 343
8.3.2 制作折線圖 344
8.3.3 制作;鶊D 345
8.3.4 合成儀表盤頁面 347
8.4 ECharts可視化 348
8.5 本章總結(jié) 349